Ola Mahmoud Elsakka نشر 22 أغسطس 2021 أرسل تقرير نشر 22 أغسطس 2021 لو سمحتوا ازاي اعمل شكل مهين يعني مثلثين قصاد بعض واني ادخل رقم 4 فيطبع الشكل ويكون مابينه مسافات بلغه c++ زي كده وده رابط السوال اللي اقصده codeforces/283715/problem/P ارجوا الجابه عن سوالي اقتباس
0 Wael Aljamal نشر 23 أغسطس 2021 أرسل تقرير نشر 23 أغسطس 2021 حل المشكلة على أجزاء، نبدأ من أعلى اليسار، نطبع عدد من النجوم (أو فراغات) حسب في أي سطر نحن و يقلل عددهم مع النزول سطرأ للأسفل ثم نطبع جزء المثلث العلوي (حرف D ليمثل Diamond) وعدد الحروف مثلا هي التي تمثل المثلث، ثم عدد نجوم نفس الجزء الأول ليكون الشكل كالتالي: ***D*** **DDD** *DDDDD* DDDDDDD *DDDDD* **DDD** ***D*** ونكرر العملية للنصف الآخر.. int main() { int n,a; cin>>n; // المرور على النصف العلوي للمعين for (int i=0;i<n/2;i++) { a=n/2-i; // حساب عدد الفراغات على اليسار وهو نصف العرض ناقص رقم العمود while(a--) {cout<<"*";} a=2*i+1; // حساب عرض المعين في السطر الحالي while(a--) {cout<<"D";} a=n/2-i; // حساب عدد الفراغات في القسم الأيمن while(a--) {cout<<"*";} cout<<endl; } // في السطر الأوسط يمكن طباعة عرض المعين مباشرة for (int i=0;i<n;i++) cout<<"D";cout<<endl; // في الجزء السفلي نكرر ماقمنا به في الأعلى ولكن بالعكس for (int i=1;i<n/2+1;i++) { a=i; while(a--) {cout<<"*";} a=n-(2*i+1)+1; while(a--) {cout<<"D";} a=i; while(a--) {cout<<"*";} cout<<endl; } return 0; } إن تقسم المشكلة البرمجية لخطوات أصغر تسهل علينا الحل، ليس مطلوباً منك كتابة حلقة واحدة تفعل كل شيئ.. يمكنك تغيير شكل الرموز كما تريد بعد تجريب البرنامج اقتباس
السؤال
Ola Mahmoud Elsakka
لو سمحتوا ازاي اعمل شكل مهين يعني مثلثين قصاد بعض واني ادخل رقم 4 فيطبع الشكل ويكون مابينه مسافات بلغه c++ زي كده
وده رابط السوال اللي اقصده codeforces/283715/problem/P
ارجوا الجابه عن سوالي
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.