Mrim Bd نشر 27 فبراير 2023 أرسل تقرير نشر 27 فبراير 2023 (معدل) ممكن أعرف ازاي ممكن ارسم مدفع رمضان بأبسط كود لاني غير متمكنة في اللغة ومطلوب مني رسمه باستخدام nested for تم التعديل في 28 فبراير 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال اقتباس
0 أحمد رضا5 نشر 27 فبراير 2023 أرسل تقرير نشر 27 فبراير 2023 لانجيب عن أسئلة الامتحانات لكن سأقوم بتوضيح الفكرة الرئيسية، قبل البدء في كتابة الكود، يجب فهم الفكرة الأساسية لرسم المدفع. يتكون المدفع من جزئين، الجزء الأول هو القاعدة والجزء الثاني هو الرأس. يحتوي الجزء الأول على عدة خطوط أفقية بأطوال مختلفة والجزء الثاني يحتوي على عدة خطوط مائلة. بدايةً، يمكننا استخدام nested loop لرسم الجزء الأول من المدفع، حيث يمكن استخدام loop خارجي لرسم الخطوط الأفقية وloop داخلي لرسم الأطوال المختلفة للخطوط الأفقية. يمكن استخدام الدالة cout لطباعة الرموز المستخدمة في الرسم، مثل "*" أو "-" أو "|" وغيرها. لرسم الجزء الثاني من المدفع، يمكن استخدام nested loop آخر، حيث يمكن استخدام loop خارجي لرسم الخطوط المائلة وloop داخلي لرسم الأطوال المختلفة للخطوط المائلة. يمكن استخدام الدالة cout لطباعة الرموز المستخدمة في الرسم، مثل "*" أو "-" أو "/" وغيرها. يمكنك الآن البدء في كتابة الكود في لغة C++ باستخدام nested loop. يمكن استخدام loop خارجي للقاعدة وloop داخلي للرأس. وفيما يلي مثال بسيط لرسم فانوس بمجرد إتقان هذه الفكرة يمكنك رسم أي شيء تريدينه: #include <iostream> using namespace std; int main() { int size; cout << "Enter the size of the tree "; cin >> size; // Loop for drawing the tree for (int i = 0; i < size; i++) { // Loop for drawing the first part of the tree for (int j = 0; j < size-i-1; j++) { cout << " "; } for (int j = 0; j < i*2+1; j++) { cout << "*"; } cout << endl; } // Loop for drawing the base of the tree for (int i = 0; i < size/2; i++) { for (int j = 0; j < size-2; j++) { cout << " "; } cout << "***" << endl; } return 0; } 1 اقتباس
0 Mustafa Suleiman نشر 28 فبراير 2023 أرسل تقرير نشر 28 فبراير 2023 لا داعي للذعر، الأمر بسيط عند فهم الطريقة وفهم الكود الذي يمكنك من تنفيذ ذلك، ففي البداية يجب عليك تقسيم المشكلة التي لديك إلى أجزاء وبدء العمل عليها تباعًا حتي تصلي لحل المشكلة، فلا تنظري أبدًا لمشكلة برمجية بكاملها بل قسميها إلى أجزاء. يمكن استخدام nested for loop في لغة السي++ لرسم الأشكال المختلفة. لهذا الغرض، يتم استخدام loop داخلي لتحديد الصفوف والأعمدة وloop خارجي لتحديد عدد الصفوف. في nested for loop ، يتم تضمين for loop داخل for loop آخر. يستخدم الـ for loop الخارجي لتكرار مرة أخرى داخليًا. بمعنى آخر، يتم تنفيذ الـ for loop الداخلي بأكمله مرة واحدة لكل تكرار من الـ for loop الخارجي. على سبيل المثال، إذا أردتي رسم مثلث، يمكن استخدام nested for loop كالتالي: #include <iostream> using namespace std; int main() { int rows = 7; for (int i = 1; i <= rows; ++i) { for (int j = 1; j <= i; ++j) { cout << "*"; } cout << endl; } return 0; } تم تعيين عدد الصفوف في هذا المثال إلى 7 باستخدام المتغير rows. يتم استخدام الـ loop الخارجي لتكرار العملية الداخلية بعدد الصفوف المحدد. الـ loop الداخلي يتحكم في عدد الأعمدة. في هذا المثال، يتم استخدام loop داخلي للتحكم في عدد النجوم المطلوب طباعتها في كل صف. إذا أردتي رسم مثلث مقلوب، يمكن تغيير اتجاه الطباعة بتغيير ترتيب الـ loop الداخلي والخارجي كالتالي: #include <iostream> using namespace std; int main() { int rows = 7; for (int i = rows; i >= 1; --i) { for (int j = 1; j <= i; ++j) { cout << "*"; } cout << endl; } return 0; } هذا المثال يستخدم الـ loop الخارجي للعد من الصفوف الأعلى إلى الأسفل، والـ loop الداخلي للعد من الأعمدة من الأعلى إلى الأسفل في كل صف. يمكن استخدام هذا النمط في الكثير من الرسومات الأخرى، ويمكن تعديل الشروط والمتغيرات المستخدمة في الـ loops للحصول على تأثيرات مختلفة. بالنسبة للأشكال المعقدة الفكرة تكمن في تقسيم الشكل إلى عدة أجزاء أصغر، واستخدام nested loops لرسم كل جزء من هذه الأجزاء. على سبيل المثال، إذا كنت تريد رسم شكل معقد يشبه شجرة، فيمكنك استخدام nested loops لرسم الشجرة كما يلي: 1- الجذع: يمكنك استخدام nested loop لرسم الجذع، حيث يتكون الجذع من عدة خطوط رأسية، يمكن رسمها باستخدام الدالة cout. 2- الأوراق: يمكنك استخدام nested loops آخر لرسم الأوراق، حيث يمكن استخدام loop خارجي لرسم الصفوف الأفقية للأوراق، وloop داخلي لرسم الأوراق في كل صف. يمكن استخدام الدالة cout لطباعة الرموز المستخدمة في الرسم، مثل "*" أو "-" أو "/" وغيرها. هذا مثال بسيط لرسم شجرة باستخدام nested loops في C++: #include <iostream> using namespace std; int main() { int height = 5; // Draw the trunk for(int i=1; i<=height; i++) { for(int j=1; j<=height-i; j++) { cout << " "; } for(int k=1; k<=2*i-1; k++) { cout << "*"; } cout << endl; } // Draw the leaves for(int i=1; i<=2; i++) { for(int j=1; j<=height-2; j++) { cout << " "; } cout << "***" << endl; } return 0; } يمكنك تعديل الأرقام المستخدمة في الدوال الداخلية للـ loop والرموز المستخدمة في الدالة cout للحصول على شكل مختلف للشجرة. اقتباس
0 Mrim Bd نشر 1 مارس 2023 الكاتب أرسل تقرير نشر 1 مارس 2023 (معدل) بتاريخ On 27/2/2023 at 22:28 قال أحمد رضا5: #include <iostream> using namespace std; int main() { int size; cout << "Enter the size of the tree "; cin >> size; // Loop for drawing the tree for (int i = 0; i < size; i++) { // Loop for drawing the first part of the tree for (int j = 0; j < size-i-1; j++) { cout << " "; } for (int j = 0; j < i*2+1; j++) { cout << "*"; } cout << endl; } // Loop for drawing the base of the tree for (int i = 0; i < size/2; i++) { for (int j = 0; j < size-2; j++) { cout << " "; } cout << "***" << endl; } return 0; } شكرا جزيلا لكن دا مش امتحان تم التعديل في 1 مارس 2023 بواسطة Mrim Bd اقتباس
السؤال
Mrim Bd
ممكن أعرف ازاي ممكن ارسم مدفع رمضان بأبسط كود لاني غير متمكنة في اللغة ومطلوب مني رسمه باستخدام nested for
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.