منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[نقاش] بخصوص كود برنامج - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : [نقاش] بخصوص كود برنامج (/showthread.php?tid=11241)



بخصوص كود برنامج - mohsir - 26-01-15

السلام عليكم

هذا السورس كود لبرنامج احتاجه في عمليات حسابية
علماً بان الادخال هوه عدد غير محدود من البتات مثل :

0101011101100011111001101001000

فيقوم بتجزئة البتات الى كروبات و كل كروب يحوي خمس بتات
مثل
         0 00100 01101 11110 10001 11101 01010
البرنامج يقوم بحساب عدد ال ( bit 1 ) في كل كروب و

مثلاً
01010
تحتوي 2 سوف يخزنها في X2

و

11101
تحتوي 4 سوف يخزنها في X4

المشكله لدي عند ادخال ارقام تظهر رساله تقول ( Index was outside the bounds of array )

و اتوقع هيه في جملة for
علماً ان الرسالة تختفي عند ادخال متتالية اطول او اقل من هذا العدد من البتات

كود :
int X0 = 0;
                       int X1 = 0;
                       int X2 = 0;
                       int X3 = 0;
                       int X4 = 0;
                       int X5 = 0;


                       f = n.Length / m ;

                       for (int i = 0; i < FinalBit.Length - 1 ; i = i + m)
                       {
                           R = 0;
                           for (j=0 ; j <= 4 ; j++)
                           {
                               if (FinalBit[ j + i] == 1)
                                   R++;
                           }
                           if (R == 0)
                               X0++;
                           else if (R == 1)
                               X1++;
                           else if (R == 2)
                               X2++;
                           else if (R == 3)
                               X3++;
                           else if (R == 4)
                               X4++;
                           else if (R == 5)
                               X5++;
                           
                       }



RE: بخصوص كود برنامج - mohsir - 26-01-15

تم حيل المشكلة و الحمد لله


int R = 0;
int j=0;
int m = 5;
int f = 0;

int X0 = 0;
int X1 = 0;
int X2 = 0;
int X3 = 0;
int X4 = 0;
int X5 = 0;
int zz = 0;

f = n.Length / m ;

for (int i = 0; i < f; i++)
{
R = 0;
for (j = 0; j < m; j++)
{
if (FinalBit[j + zz] == 1)

R++;
}
if (R == 0)
X0++;
else if (R == 1)
X1++;
else if (R == 2)
X2++;
else if (R == 3)
X3++;
else if (R == 4)
X4++;
else if (R == 5)
X5++;

zz = zz + 5;
}





تحياتي للجميع