|
 1.7 Кб |
|
| Когда ввожу массив вручную, прога не работает. С рандомом всё нормально. В чём я ошибся???
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main ()
{
clrscr();
const int n_cols=8, n_rows=8;
int A[n_rows][n_cols], i, j, k, min, x_min, y_min, s=0, neg, vibor;
cout<<"Vvedite 1 esli xotite vvesti massiv s klaviatyru,ulu vvedite 2"<<endl;
cin>>vibor;
switch (vibor)
{
case 2:
{
randomize ();
cout<<"Massiv po random"<<endl;
for(i=0;i<n_rows;i++)
{
for(j=0;j<n_cols;j++)
{
A[i][j]=random(100)-50;
cout<<setw(4)<<A[i][j];
}
cout<<endl;
}
break;
}
case 1:
{
cout<<"Vvodi massiv razmernost'u"<<n_rows<<"i"<<n_cols<<endl;
for (i=0;i<n_rows;i++)
{
cout<<endl;
for (j=0;j<n_cols;j++)
cin>>A[i][j];
}
for (i=0;i<n_rows;i++)
{
cout<<endl;
for (j=0;j<n_cols;j++)
cout<<setw(4)<<A[i][j];
}
break;
}
default:{cout<<"1 ili 2!!! "<<vibor<<" Neverno vvedeno chislo dla vibora"; return;}
}
for (k=0;k<n_rows;k++)
for(i=0;i<n_cols;i++)
{
if(A[k][i]!=A[i][k])
break;
if(i==n_cols) cout<<"stroka"<<k<<"=stolbcu"<<k<<endl;
}
min=A[0][0];
x_min=0;
y_min=0;
for(i=0;i<n_rows;i++)
for(j=0;j<n_cols;j++)
if(A[i][j]<min)
{
min=A[i][j];
x_min=i;
y_min=j;
}
A[x_min][y_min]*=10;
for(i=0;i<n_rows;i++)
{
neg=0;
s=0;
for(j=0;j<n_cols;j++)
{
s+=A[i][j];
if(A[i][j]<0) neg=1;
}
if(neg) cout<<"summa yacheek "<<i<<" stroki ="<<s<<endl;
}
for(i=0;i<n_rows;i++)
{
for(j=0;j<n_cols;j++)
{
cout<<setw(4)<<A[i][j];
}
cout<<endl;
}
getch();
} | |
|
|
|
|
|
|
|
для: ZmEy2051
(06.05.2009 в 16:23)
| | Каким компилятором пользуетесь (Visual Studio 2005 не приняла код).
Почему считаете, что не работает? Подправил код от функций, которые не принялись - что то делается в обоих случаях | |
|
|
|
|
|
|
|
для: ZmEy2051
(06.05.2009 в 16:23)
| | Прога работает. Следует заметить, что сумма ячеек выводится только в том случае, если в массиве есть отрицательные элементы. | |
|
|
|
|
|
|
|
для: Князев
(07.05.2009 в 16:50)
| | Спсибо! | |
|
|
|