الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يمكن عرض قيمة المتغيرداخل حلقة التكرار(for)

بدأه ringawy في 6 ديسمبر 2011 · 5 رد · 693 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة

سؤالى بخصوص دالة (for) وها هوا الكود وسؤالى بخصوص هل يمكن عرض قيمة المتغير الموجود داخل الحلقة فى كل حلقة من الحلقات وإخراجها على الشاشة من خلال (cout)

فى الكود التالى البرنامج يظهر المجموع النهائى للمتغير فى جميع الحلقات فقط .

الكود

#include<iostream>
using namespace std;
int main()
{
    int b=0;
    for(int a=1;a<100;a++)

    if (a%2==0)
    b+=a;
    cout<<"b= "<<b<<endl;
    system("pause");
    return 0;
}

تم تعديل هذه المشاركة بواسطة ringawy في 6 ديسمبر 2011 في 13:12

#2

نعم يمكنك ذلك

#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc ,char *argv[])
{
	int b = 0;
	for(int a = 1; a < 100; a++)
	{
		if(a % 2 == 0)
			b+=a;
		cout << "b =" << b << endl;
	}
	system("PAUSE");
	return 0;
}
#3

طيب ممكن حضرتك تشرحلى التعديل الى تم على الكود

وفى خطأ فى البرنامج بيظهر ناتج كل حلقة مرتين

كالتالى

b =2
b =2
b =6
b =6
b =12
b =12
b =20
b =20
b =30
b =30
b =42
b =42
b =56
b =56
b =72
b =72
b =90
b =90
b =110
b =110
b =132
b =132
b =156
b =156
b =182
b =182
b =210
b =210
b =240
b =240
b =272
b =272
b =306
b =306
b =342
b =342
b =380
b =380
b =420
b =420
b =462
b =462
b =506
b =506
b =552
b =552
b =600
b =600
b =650
b =650
b =702
b =702
b =756
b =756
b =812
b =812
b =870
b =870
b =930
b =930
b =992
b =992
b =1056
b =1056
b =1122
b =1122
b =1190
b =1190
b =1260
b =1260
b =1332
b =1332
b =1406
b =1406
b =1482
b =1482
b =1560
b =1560
b =1640
b =1640
b =1722
b =1722
b =1806
b =1806
b =1892
b =1892
b =1980
b =1980
b =2070
b =2070
b =2162
b =2162
b =2256
b =2256
b =2352
b =2352
b =2450
b =2450
Press any key to continue . . .
#4

لا يوجد اي خطأ في البرنامج الاساسي فقط انك نسيت وضع الاقواس {} لانها تبين للمترجم الجزء المحصر داخل الحلقة ..

فلا تنساها فهي اساسية جدا .. اي جزء تحتاج ان يتم داخل كل دورة يجب ان يكون داخل الاقواس .. ولذلك تجد كود الاخBiginear قام بحصر كود السابق ومن ضمنها دالة الطبع داخل قوسين ..

بينما في الكود الاصلي لم تكن موجودة .. لذلك فان المترجم يقوم بتنفيذ اول جملة فقط ما بعد الـ For في حال عدم تواجد الاقواس ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#5

قيمة متغير ال b تتغير كل حلقتين مرة ﻷن الشرط a%2==0 يصبح صحيح كل حلقتين مرة (فى اﻷعداد الزوجية فقط).

#6

شكرا لكم أخوانى Blueteeth Icon سنان محمد صالح على التوضيح

وجزاكم الله كل خير

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…