PDA

View Full Version : ماتريس 3*3 , درايه هاي min و max



majmaji
پنج شنبه 04 تیر 1388, 14:13 عصر
سلام دوستان من ميخوام يه برنامه بنويسم كه يك ماتريس 3*3 بگيره و عناصر min و max رو به همراه شماره سطر و ستون چاپ كنه.


لطفا اگه ميشه كمكم كنيد

Yasersadegh
پنج شنبه 04 تیر 1388, 17:47 عصر
دوست عزيز شما مي تونيد از كد زير استفاده كنيد:



int matrix[n][m];
int r_min,r_max,c_mincc_max;
int min,max;
min=matrix[0][0];
max=matrix[0][0];
for(int i=0;i<n;i++)

for(int j=0;j<m;j++)
{
if(matrix[i][j]<min)
{
min=matrix[i][j];
r_main=i;
c_min=j;
}
else if(matrix[i][j]>max)
{
max=matrix[i][j];
r_max=i;
c_max=j;
}

}

شما فقط به جاي n و m سطر و ستون ماتريس تون رو قرار مي ديد!!
ودر نهايت مقدار متغير ها رو چاپ مي كنيد.:لبخندساده:

majmaji
پنج شنبه 04 تیر 1388, 19:32 عصر
ببخشيد اگر اشكالي نداره كمي بحث كنيم:
ما براي اينكه ماتريس رو تعريف كنيم نياز به يك سطر و ستون داريم. براي همين يك آرايه 2 بعدي به نام ماتريس تعريف ميكنيم.
اما چرا min و max را به صورت ارايه تعريف كرديم؟؟

Yasersadegh
پنج شنبه 04 تیر 1388, 21:14 عصر
اما چرا min و max را به صورت ارايه تعريف كرديم؟؟
توجه كنيد:متعجب:، ما min و max رو آرايه نگرفتيم ، دو تا متغير هستند كه كوچكترين و بزرگترين عدد رو نگه مي دارند و r_min و c_min سطر و ستون عدد مينيموم رو نگه مي دارند و r_max و c_max سطر و ستون عدد ماكسيموم رو نگه مي دارند!
نيازي هم نداريم كه اينا رو آرايه در نظر بگيريم!!

tdkhakpur
پنج شنبه 04 تیر 1388, 21:27 عصر
سلام
دوست عزیز برنامه رو به شکل زیر اصلاح کنید. دوستمان یه جایی را سهوا اشتباه وارد کردند.


int matrix[n][m];
int r_min,r_max,c_mincc_max;
int min,max;
min=matrix[0][0];
max=matrix[0][0];
for(int i=0;i<n;i++)

for(int j=0;j<m;j++)
{
if(matrix[i][j]<min)
{
min=matrix[i][j];
r_main=i;
c_min=j;
}
// else حذف شود.
if(matrix[i][j]>max)
{
max=matrix[i][j];
r_max=i;
c_max=j;
}

}

موفق باشید.