PDA

View Full Version : مشکل در اجرای سورس کد ماتریس خلوت



Arash.Net
چهارشنبه 13 آبان 1388, 01:48 صبح
با سلام خدمت تمامی دوستان مشکل در اجرای برنامه دارم(spare Matrix)

روی سوال این هست :: برنامه ای بنویسید که ماتریس خلوتی را از ورودی گرفته و حالت بهینه آن را چاپ کند ماتریس باید 6*6 باشد


#include<iostream.h>
#include<conio.h>
int main()
{
int aray1[3][3]; int temp=0; int aray2[20][3]; int x=1,y=0;
int i,j;
clrscr();

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cin>>aray1[i][j];
}
cout<<"\n";
}
cout<<"\n\n";
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(aray1[i][j]!=0)
temp+=1;
aray2[x][y]=i;
aray2[x][y+1]=j;
aray2[x][y+2]=aray1[i][j];
x++;
y=0;
}
}
aray2[0][0]=3;
aray2[0][1]=3;
aray2[0][2]=temp;

for(x=0;x<=temp;x++)
{for(y=0;y<3;y++)
cout<<aray2[x][y]<<" ";
cout<<"\n";
}
getch();
return 0;
}





ممنون میشم راهنمایم کنید ضمیمه هم کردم سورس رو

Arash.Net
پنج شنبه 14 آبان 1388, 10:50 صبح
ممنون از دوستان به خاطر پاسخشون - فقط یک بلاک اضافه گذاشته بودم که مشکلش برطرف شد اگه امکانش باشه این قسمتو یه توضیح کوچولو بدید ممنون میشم که این قسمت پایین چیکار میکنه تو برنامه

if(aray1[i][j]!=0)
temp+=1;
aray2[x][y]=i;
aray2[x][y+1]=j;
aray2[x][y+2]=aray1[i][j];
x++;
y=0;
}
}
aray2[0][0]=3;
aray2[0][1]=3;
aray2[0][2]=temp;

Arash.Net
پنج شنبه 21 آبان 1388, 14:33 عصر
میبینم که هیچ کس بلد نیست

mortezamsp
جمعه 22 آبان 1388, 18:22 عصر
حاجی این همون بخش اصلی برنامه هست.مگه نمیدونی اسپارس چیه؟

قسمت داخل بلاک میگه اگه یه عدد غیرصفر پیدا شد ، سطر و ستون و مقدار اون عدد رو در ردیف temp ذخیره کنه و بعد temp++ کنه و بره سطر بعدی.

در قسمت پایینی هم در سطر اول ماتریس اسپارس ، تعداد سطر و ستون و تعداد اعداد غیرصفر رو قرار میده.