Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

код_к_лабораторным

.pdf
Скачиваний:
124
Добавлен:
05.07.2020
Размер:
182.62 Кб
Скачать

cout<<"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