Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / 3_кол / Лекції / лекция_С++(12_1)_у.doc
Скачиваний:
15
Добавлен:
30.05.2020
Размер:
202.75 Кб
Скачать

Знаходження мінімального елементу матриці і викреслювання рядка і стовпця, на пересіченні яких він знаходиться

const int NROW =100;

const int NCOL =40;

void vvod_ar(int arra[NROW][NCOL], int m, int n);

void vyvod_ar(int arra[NROW] [NCOL], int m, int n);

void poisk_min(int arra[NROW][NCOL], int m, int n, int &imin, int &jmin);

void del_min (int arra[NROW][NCOL], int m, int n, int imin, int jmin);

int main()

{int m=10; // число рядків реального масиву

int n=9; // число стовпців реального масиву

int imin, jmin;

int arra [NROW][NCOL] ={{1}, {2}, {3}, {4}, {5}};

int arra1 [][NCOL] ={{1}, {2}, {3}, {4}, {5}};

vvod_ar(arra, m, n);

vyvod_ar(arra, m, n);

poisk_min(arra, m, n, imin, jmin);

cout << "imin= " << imin+1 << endl;

cout << "jmin= " << jmin+1 << endl;

del_min (arra, m, n, imin, jmin);

vyvod_ar(arra, m-1, n-1);

_getch();

return 0;

}

Void vyvod_ar(int arra[nrow][ncol], int m, int n) //функция виведення масиву

{

for (int i=0; i<m; i++)

{for (int j=0; j<n; j++)

cout << setw(3) << arra[i][j];

cout << endl;

}

cout << endl;

}

Void vvod_ar(int arra [nrow][ncol], int m, int n) //функция введення масиву

{

for (int i=0; i<m; i++)

for (int j=0; j<n; j++)

arra[i][j]= 1+ rand()%10;

}

//функція пошуку мінімального елементу в масиві

void poisk_min(int а, int m, int n, int &imin, int &jmin)

{

imin = jmin =0;

int min = а[0][0];

for (int i=0; i<m; i++)

for (int j=0; j<n; j++)

if (а[i][j] <= min) { //останій min в масиві

min = а[i][j];

imin=i;

jmin=j;

}

}

//функція видалення в масиві рядка і стовпця з минимальноым елементом

void del_min (int а, int m, int n, int imin, int jmin)

{int ii, jj;

for (int i=0; i<m-1; i++)

for (int j=0; j<n-1; j++)

{

if (i >=imin) ii=i+1; else ii=i;

if (j >=jmin) jj=j+1; else jj=j;

а[i][j]=a[ii][jj];

}

}

Знаходження сум елементів квадратної матриці на головній діагоналі і на діагоналях, паралельних головною

const int N =100;

void vvod_ar(int arra[N][N], int n);

void vyvod_ar(int arra[N][N], int n);

void sum_diag(int arra[N][N], int n);

int main()

{int n=5; // число рядків і стовпців реального статичного масиву

int arra [N][N] ;

vvod_ar(arra, n);

vyvod_ar(arra, n);

sum_diag(arra, n);

_getch();

return 0;

}

Void vyvod_ar(int arra[n][n], int n) //функция виведення масиву

{

for (int i=0; i<n; i++)

{for (int j=0; j<n; j++)

cout << setw(3) << arra[i][j];

cout << endl;

}

cout << endl;

}

Void vvod_ar(int arra [n][n], int n) //функция введення масиву

{

for (int i=0; i<n; i++)

for (int j=0; j<n; j++)

arra[i][j]= rand()%2;

}

Void sum_diag(int а, int n) //функция знаходження сум елементів

{int s=0, s1, s2;

for (int i=0; i<n; i++) //сумма елементів головної діагоналі

s+=a[i][i];

cout << "glav: " << s << endl<< endl;

for (int i=0; i<n-1; i++)

{ s1=0;s2=0;

for (int j=0; j<n-i-1; j++)

{ s1+=a[j][i+j+1];//сумма елементів діагоналей вище головною

s2+=a[i+j+1][j];//сумма елементів діагоналей нижче головної

}

cout << "verx: " << s1<< endl;

cout << "nijn: " << s2 << endl << endl;

}

}

Соседние файлы в папке Лекції