11.01.2011, 15:43. Просмотров 278. Ответов 2
Есть программа, уплотняет матрицу, удаляя из нее строки/столбцы, заполенные нулями, необходимо чтобы она выводила кол-во удаленных строк/столбцов, помогите пжлста.
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
| #include <iostream.h>
#include <conio.h>
#include <math.h>
int **mas, n, m, i,j, y, t;
int main ()
{
cout<<"vvedite kolichestvo strok massiva: "<< endl;
cin>>n;
cout<<"vvedite kolichestvo stolbcov massiva: "<< endl;
cin>>m;
mas=new int*[n];
for(i=0; i<n; i++)
mas[i]=new int[m];
cout<<"vvedite elementy massiva: "<< endl;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{
cout<<"["<<i<<"]["<<j<<"]= ";
cin>>mas[i][j];
}
cout<<"isxodnyi massiv"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
cout<<mas[i][j]<<" ";
cout<<endl;
}
for(i=0; i<n; i++)
{
t=0;
for(j=0; j<m; j++)
if(mas[i][j]!=0)
t=1;
if(t==0)
{
for(y=i; y<n-1; y++)
for(j=0; j<m; j++)
mas[y][j]=mas[y+1][j];
n--;
}
}
for(i=0; i<m; i++)
{
t=0;
for(j=0; j<n; j++)
if(mas[j][i]!=0)
t=1;
if(t==0)
{
for(y=i; y<m-1; y++)
for(j=0; j<n; j++)
mas[j][y]=mas[j][y+1];
m--;
}
}
cout<<endl;
cout<<"polychennyi massiv"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
cout<<mas[i][j]<<" ";
cout<<endl;
}
cout<<endl;
getch();
return 0;
} |
|