PDA

View Full Version : سوال: کمک در مورد Error



Milad_Gh
پنج شنبه 12 بهمن 1391, 13:19 عصر
سلام دوستان.

من این برنامه رو نوشتم:




#include<iostream.h>

int main()
{
float **Mat1;
float **Mat2,**Mat3;
int n,i,j;
cin>>n;
Mat1 = new float*[n];
Mat2 = new float*[n];
Mat3 = new float*[n];


for ( i = 0 ; i <= n ; i++ )
Mat1[ i ] = new float[ i ];

for ( i = 0 ; i <= n ; i++ )
Mat2[ i ] = new float[ i ];

for ( i = 0 ; i <= n ; i++ )
Mat3[ i ] = new float[ i ];

for (i=0 ; i<n ; i++)
{
for (j=0 ; j<n ; j++)
Mat3[i][j]=1.0;
}

cout <<"Enter "<<(n*n)<<" Number For The First:";
for (i=0 ; i<n ; i++)
{
for (j=0 ; j<n ; j++)
cin >> Mat1[i][j] ;
}

cout <<"Enter "<<(n*n)<<" Number For The Second:";
for (i=0 ; i<n ; i++)
{
for (j=0 ; j<n ; j++)
cin >> Mat2[i][j] ;
}

for (i=0 ; i<n ; i++)
{
for (j=0 ; j<n ; j++)
Mat3[i][j] = (Mat1 [i][j] + Mat2 [i][j]);
}

cout <<"The Summation Is:"<<'\n';
for (i=0 ; i <n ; i++)
{
for (j=0 ; j<n ;j++)
cout<<Mat3[i][j]<<'\t';
cout <<'\n';
}

for ( i = 0 ; i < n ; i ++ )
{

delete[] Mat1[ i ];
delete[] Mat2[ i ];
delete[] Mat3[ i ];
}
delete[] Mat1;
delete[] Mat2;
delete[] Mat3;
}



برای ماتریس های دو در دو مشکلی نداره، اما وقتی به n مقدار 3 میدم، پیغام خطا میده.
هرکاری هم کردم، مشکلم رو نتونستم حل کنم.
ممنون میشم راهنمایی کنید.

UfnCod3r
پنج شنبه 12 بهمن 1391, 16:56 عصر
این اشتباهه !

for ( i = 0 ; i <= n ; i++ )
Mat1[ i ] = new float[ i ];


این درسته

for ( i = 0 ; i < n ; i++ )
Mat1[ i ] = new float[ n ];