Матрицы В C++

203

New Member
21.02.2012
2
0
#1
Здравствуйте. У меня возникла проблема с программой.
Я написал параграмму. Вот что получилось.
C++:
#include <iostream> 
using namespace std; 
int main() 
{ 
int n; 
int a[100][100]; 
cout << "n = "; 
cin >> n; 
for(int i=0;i < n;i++) 
for(int j=0;j < n;j++) 
cin >> a[ i ][ j ]; 
for(int i=0;i < n;i++) 
{ 
for(int j=0;j < n;j++) 
cout << a[ i ][ j ] << " "; 
cout << endl; 
}
int sum1=0;
for(int i=0; i < n; i++)
for(int j=0;j < n;j++)
if (i <=n/2. && (i >= j || (n - j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
sum1+=a[i][j];
cout << "sum " << sum1 << endl;
system("pause");
return 0;
}
Но потом мне сказали что надо писать через функцию, а с функциями я не очень дружу.
Может кто поможет переделать программу под функцию.
Заранее спасибо.

Вот условие.
Без_имени_3.jpg
 

Whatka

Well-Known Member
09.10.2011
428
4
#2
C++:
//
#include <iostream> 
using namespace std; 
int in_n(int n)
{
cout << "n = "; 
cin >> n; 
return n;
}
void in_matr(int **a,int n)
{
for(int i=0;i<n;i++) 
for(int j=0;j<n;j++) 
cin>>a[ i ][ j ];
}
void out_matr(int **a,int n)
{

for(int i=0;i < n;i++) 
{ 
for(int j=0;j < n;j++) 
cout << a[ i ][ j ] << " "; 
cout << endl; 
}
}
int sum(int **a,int n)
{
int sum=0;
for(int i=0; i < n; i++)
for(int j=0;j < n;j++)
if (i <=n/2. && (i >= j || (n - j - 1<= i)) || (( i >=n/2.) && (( j <=n-i-1) || ( j >= i ))) || ( i == j ))
sum+=a[i][j];
return sum;
}
void main() 
{ 
int n; 
int a[100][100]; 
n=in_n(n);
in_matr(a,n);
out_matr(a,n);
cout << "sum " << sum(a,n) << endl;
}
//
 

203

New Member
21.02.2012
2
0
#3
Как всегда ты меня очень сильно выручаешь. Большое спасибо.