ورود

View Full Version : سوال: مشکل در تعویض قطر‌های ماتریس



144liber
سه شنبه 27 اردیبهشت 1390, 20:05 عصر
سلام
این برنامه قطرهای ردیف دوم و سوم را عوض میکنه یک ماتریس 4در 4 هستش.
خوب برنامه رو میخونیم و کارهاشو میکنیم


for (i=0;i<4;i++)
for (j=0;j<4;j++)
cin>>a[i][j];
for (i=0;i<4;i++)
{
t=a[2][i];
a[2][i]=a[3][i];
a[3][i]=t;
}


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




for (i=0;i<4;i++)
for (j=0;j<4;j++)
cin>>a[i][j];
for (i=0;i<4;i++)
for (j=0;j<4;j++)
{
t=a[2][j];
a[2][j]=a[3][j];
a[3][j]=t;
}



اما کار من اشتباه نیست من نمیدانم چرا جواب نمیده.:ناراحت:
خوب با کار من هم رو ادرس میده. مثلا j=0 بعد 1 و 2 و 3 میده و جابجا میکنه اما تو برنامه جابجا نمیکنه :گریه:
a[2][j]
ما ادرس ارایه رو تو ماتریس مثلا این طور میدیم.

a[i][j]

alpotkin
چهارشنبه 28 اردیبهشت 1390, 18:29 عصر
دوست عزیز من دقیق متوجه مشکلت نشدم!
ولی چیزی که مشخصه شما کد پایینیت کار نمیکنه ... حقم داره
شما از دو حلقه استفاده کردی که اولی فقط باعث میشه 4 بار عمل جابجایی انجام بشه
پس بار اول تعویض میشن بار دوم برمیگردن سر جاشون و تا 4