PDA

View Full Version : اشکال در کار با آرایه



Future
یک شنبه 08 شهریور 1388, 05:28 صبح
سلام دوستان, من دو تا آرایه دارم که هر کدامشون 9 تا عنصر دارن و بصورت زیر تعریف کردم:
int Array()
{
int i,j = 1;

cout<<endl<<"..........Before the Training Session............"<<endl;
for (i = 1; i <= LIST1; i++)
{
cout<<"Student "<<i<<" Score: ";
cin>>score;
if ( (score>20) || (score<0))
{
cout<<endl<<"The input score must be between 0 and 20. Try again";
i--;
continue;
} else
{
student1[i-1] = score;
}
}
cout<<endl<<"9 scores before the training session enterd. "<<endl;



cout<<endl<<"..........After the Training Session............"<<endl;
for (j = 1; j <= LIST2; j++)
{
cout<<"Student "<<j<<" Score: ";
cin>>score;
if ( (score>20) || (score<0))
{
cout<<endl<<"The input score must be between 0 and 20. Try again";
j--;
continue;
} else
{
student2[j-1] = score;
}
}
cout<<endl<<"9 scores after the training session enterd. "<<endl;

بعد از مقدار دادن به هر کدام از عناصر این آرایه ها باید یه آرایه 2 بعدی تعریف کنم و مقادیر هر آرایه رو توی یه بعد از آرایه 2 بعدی بریزم.

// 2 D I M E N T I O N A L A R R A Y
int col =0;
for (int row = 0; row <2; row++)
{
for (int col = 0; col<LIST1; col++)
{
if (row == 0 )
{
student[row][col] = student1[col];
cout << "Element indexes [" << row << "][" << col<<"]="<<student1[col]<<endl;
} else
{
student[row][col] = student2[col];
cout << "Element indexes [" << row << "][" << col<<"]="<<student2[col]<<endl;;
}

}
}


cout<<endl<<"Press any key to continue...";

return 0;
}


مشکل اینجاست که وقتی من آرایه 2 بعدی رو پرینت می کنم همه چیز اشتباه است.
اساتید لطفا کمک کنید.

clover
یک شنبه 08 شهریور 1388, 11:38 صبح
این کدی که بالا نوشتید پر از اشکالات دستوری بود . همینطور هیچ استانداردی توی این کد رعایت نشده . اما در کل باید بگم که ( بعد اشکالات دستوری که رفع شد ) مشکلی وجود نداره ، برنامه به درستی اجرا میشه و کاری که شما می خواهید انجام میده !

Future
یک شنبه 08 شهریور 1388, 14:54 عصر
سلام
آیا من کدی که نوشته بودم رو دوباره اجرا کنم یا شما تغییرات دادید توی کد؟

clover
یک شنبه 08 شهریور 1388, 15:22 عصر
کدی که گفتم اجرا میشه اینه :


const int LIST1 = 9;
const int LIST2 = 9;
int score;
int student1[LIST1];
int student2[LIST2];
int student[2][LIST1];

cout<<endl<<"..........Before the Training Session............"<<endl;
for (int i = 1; i <= LIST1; i++)
{
cout<<"Student "<<i<<" Score: ";
cin>>score;
if ( (score>20) || (score<0))
{
cout<<endl<<"The input score must be between 0 and 20. Try again";
i--;
continue;
}
else
{
student1[i-1] = score;
}
}
cout<<endl<<"9 scores before the training session enterd. "<<endl;



cout<<endl<<"..........After the Training Session............"<<endl;
for (int j = 1; j <= LIST2; j++)
{
cout<<"Student "<<j<<" Score: ";
cin>>score;
if ( (score>20) || (score<0))
{
cout<<endl<<"The input score must be between 0 and 20. Try again";
j--;
continue;
}
else
{
student2[j-1] = score;
}
}
cout<<endl<<"9 scores after the training session enterd. "<<endl;



// 2 D I M E N T I O N A L A R R A Y
int col = 0;
for (int row = 0; row <2; row++)
{
for (int col = 0; col<LIST1; col++)
{
if (row == 0 )
{
student[row][col] = student1[col];
cout << "Element indexes [" << row << "][" << col<<"]="<<student1[col]<<endl;
}
else
{
student[row][col] = student2[col];
cout << "Element indexes [" << row << "][" << col<<"]="<<student2[col]<<endl;;
}

}
}

cout<<endl<<"Press any key to continue...";

getch();
return 0;

Future
یک شنبه 08 شهریور 1388, 18:01 عصر
سلام دوست عزیز. خیلی خیلی ممنون از راهنمایی تون. ولی این دقیقا برنامه خودمه. میشه یه لطفی بگنید و به این فایل یه نگاه بیاندازید. بعد از درج ازاطلاعات و برگشت به منوی اصلی گزینه 2 را اواتنخاب کنید تا خروجی را روی صفحه ببیند. عناصر آرایه اوا اشتباه درج می شن. در حالیکه همه چیز درست به نظر میرسه.
خیلی خیلی ممنون.

clover
یک شنبه 08 شهریور 1388, 23:07 عصر
const int ROW= 8;
const int COL= 2;

کد بالا را به صورت زیر تغییر دهید :


const int ROW= 2;
const int COL= 9;