код_к_лабораторным
.pdfcout<<"Element raven nuly"; else
{ for (i=0;i<x;i++) Q[i][i]=Q[i][i]+fabs(naim); for (i=0; i<x; i++)
{for (j=0; j<x; j++) cout<<Q[i][j]<<" "; cout<<'\n';
}
}
system ("pause");
}
4.3.3 Разработка модульных программ с выделением подпрограмм.
Разработать модульную программу, выделив нужные подпрограммы.
Подсчитать как изменится среднее арифметическое элементов матрицы, если во всех столбцах с номерами, большими, чем номер столбца с максимальным количеством отрицательных элементов, заменить все отрицательные элементы их модулями.
#include <iostream> #include <cmath> using namespace std;
float srednee(float A[10][10], int m, int n)
{
float summa,sr; int i,j; summa=0;
for (i=0;i<n;i++) for (j=0;j<m;j++)
summa=summa+A[i][j];
sr=summa/(m*n); return sr;
}
void otric(float A[10][10], int m, int n, int N[10])
{
int i,j;
for (j=0;j<m;j++)
{
N[j]=0;
for (i=0;i<n;i++) if (A[i][j]<0) N[j]++;
}
}
int nomerstolbca(int N[10], int n) { int nomer,j;
nomer=0;
for (j=0;j<n;j++) if (N[j]>=N[j-1]) nomer=j; return nomer;
}
void zamena (float A[10][10], int m, int n, int k, float B[10][10]) {int i,j;
for (i=0;i<n;i++) for (j=0;j<k+1;j++) B[i][j]=A[i][j];
11
for (i=0;i<n;i++) for (j=k+1;j<m;j++) if (A[i][j]<0) B[i][j]=fabs(A[i][j]); else
B[i][j]=A[i][j];
}
int main ()
{
float Q[10][10],srednee1,srednee2,raznost; int i,j,k,x,y,N[10];
cout<<"Vvedite x,y\n"; cin>>x>>y; cout<<"\nVvedite Q\n"; for (i=0;i<y;i++)
for (j=0;j<x;j++) cin>>Q[i][j]; srednee1=srednee(Q,x,y); otric(Q,x,y,N); k=nomerstolbca(N,y); zamena(Q,x,y,k,Q); srednee2=srednee(Q,x,y);
raznost=srednee2-srednee1; cout<<"k="<<k<<'\n';
cout<<"sr1="<<srednee1<<" sr2="<<srednee2<<" raznost="<<raznost; system("pause");
}
12