помогите написать программу, пожалйста:
написать програму, определяющую сумму элементов главной диагонали произвольной квадратной матрицы!
написать функции:
-заполнение двумерного массива случайными часлами из диапазона [-15;45]
-вывод двумерного массива
-опеределение суммы элементов главной диагонали матрицы!
вообще ниче не понимаю ПОМОГИТЕ, пожалуйста!
Вот пример:
#include<iostream.h>
#include<math.h>
#include <stdlib.h>
#include <time.h>
void vvod (int*, int, int);
void vivod( int *, int, int);
void change(int *, int,int , int , int );
void main ()
{
int d;
int b;
int n,m;
cout<<"vvedite kolichestvo strok-n";
cin>>n;
cout<<"vvedite kolichestvo stolbcov-m";
cin>>m;
cout<<"vvedite d";
cin>>d;
cout<<"vvedite b";
cin>>b;
int *A=new int[n*m];
vvod (A, n,m);
vivod(A,n,m);
change(A,n,m,d,b);
cout<<"rezyltat"<<endl;
vivod(A,n,m);
delete []A;
}
void vvod ( int*A, int n, int m)
{ srand(time(0));
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
{
*(A+i*m+j)=rand()%401-200;
}
}
}
void vivod( int *A, int n, int m)
{ for (int i=0;i<n;i++)
{
for ( int j=0;j<m;j++)
{
cout<<*(A+i*m+j)<<"\t";
}cout<<endl

cout<<endl;
}
void change(int *A, int n , int m, int d, int b)
{ int x;
for (int j=0; j<m; j++)
{
if (j!=b||j!=d)
{
x=*(A+d*m+j);
*(A+d*m+j)=*(A+b*m+j);
*(A+b*m+j)=x;
}
}
}
пример 2:
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void zapol(int *,int,int);
void vivod(int *,int,int);
void invers(int*,int,int,int);
void main()
{ int n,u;
cout<<"\n"<<"vvedite kol-vo strok dvumernogo massiva u=";
cin>>u;
cout<<"vvedite kol-vo stolbcov dvumernogo massiva n=";
cin>>n;
cout<<"\n";
int *A=new int[n*u];
zapol(A,n,u);
vivod(A,n,u);
int n1,h,j,i;
cout<<"vvedite zameniayemiy stolbec=";
cin>>n1;
cout<<"\n";
cout<<"vvedite zamenyayushiy stolbec=";
cin>>h;
cout<<"\n";
invers(A,n1-1,u,h-1);
cout<<"invers mas A"<<"\n";
vivod(A,n,u);
delete []A;
}
void zapol(int *a,int n,int u)
{
srand (time(0));
int i,j;
for(i=0;i<n;i++)
{ for(j=0;j<u;j++)
{*(a+i*u+j)=rand()%401-200;
}
}
}
void vivod(int *a,int n,int u)
{
cout<<"mas A"<<"\n";
for(int j=0;j<u;j++)
{ for(int i=0;i<n;i++)
{
if(i<(n-1))
cout<<*(a+i*u+j)<<"\t";
else
cout<<*(a+i*u+j)<<"\n";
}
}
}
void invers(int *a,int n1,int u,int h)
{
int S,i,j;
for(j=0;j<u;j++)
{
S=*(a+n1*u+j);
*(a+n1*u+j)=*(a+h*u+j);
*(a+h*u+j)=S;
}
}