Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Основы С++.doc
Скачиваний:
117
Добавлен:
09.06.2015
Размер:
1.44 Mб
Скачать

39. Опpедилить max элемент матpицы и записать нули в стpоку, в котоpой он находится.

Обозначения: a[k,l] - матрица целых чисел; k - количество строк матрицы; l - количество столбцов матрицы; i,j - номера строк и столбцов матрицы; max - максимальный элемент матрицы; st - номер строки, в которой находится max элемент.

// Программа №39

// Определить максимальный элемнт матрицы и записать нули в строку, в которой он находится.

//Обозначения:

//a[k,l] - матрица целых чисел;

//k - количество строк матрицы; l - количество столбцов матрицы;

//i,j - номера строк и столбцов матрицы;

//max - максимальный элемнт матрицы;

//st - номер строки, в которой находится максимальный элемнт;

#include<iostream.h>

#include<stdlib.h>

int a[100][100];

int k,l,i,j,max,st;

main()

{

cout << "Введите количество строк матрицы k =";

cin >> k;

cout << "Введите количество столбцов матрицы l =";

cin >> l;

for(i=0; i<k; i++)

for(j=0; j<l; j++)

a[i][j]=rand()%10;

cout << "\nИсходная матрица a[i,j]:\n";

for (i=0; i<k; i++)

{

for(j=0; j<l; j++)

cout << a[i][j] << " ";

cout << "\n";

}

cout << " \n ";

max=a[1][1];

st=1;

for (i=0;i<k;i++)

{

for (j=0;j<l;j++)

{

if (max<a[i][j])

{

max=a[i][j];

st=i;

}

}

}

cout << "Максим. элемент матрицы = " << max << " \n находится в строке: " << st;

cout << " \n";

for (j=0;j<l;j++)

{

a[st][j]=0;

}

cout << " Сформированная матрица:\n ";

for (i=0;i<k;i++)

{

for (j=0;j<l;j++)

cout << a[i][j] << " ";

cout << "\n";

}

return 0;

}

40. Задана матpица целых чисел. Опpеделить max элемент главной диагонали матpицы и напечатать стpоку, в котоpой он находится.

Обозначения: a[n,n] - матрица целых чисел; n - размерность матрицы; i,j - номера строк и столбцов матрицы; k - номер строки, в которой находится максимальный элемент

главной диагонали; max - максимальный элемент главной диагонали.

//Программа №40

#include<iostream.h>

#include<stdlib.h>

int a[100][100];

int i,j,k,n,max;

main()

{

cout << "Введите разметность матрицы n=";

cin >> n;

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

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

a[i][j]=rand()%50;

cout << "\nИсходная матрица:\n";

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

{

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

cout << a[i][j] << " ";

cout << "\n";

}

max=a[0][0];

k=0;

for(i=1; i<n; i++)

if(max<a[i][i])

{

k=i;

max=a[i][i];

}

cout << "\nРезультат:\n";

cout << "MAX элемент матрицы =" << max;

cout << "\nMAX элемент находится в" << k << "-ой строке,\n";

cout << k << "-я строка матрицы: ";

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

cout << a[k][j] << " ";

cout << "\n\n";

return 0;

}

41. Задана матpица целых чисел. Опpеделить min элемент матpицы и записать 0 в ту стpоку и столбец, на пеpесечении котоpых он находится.

Обозначения: a[m,n] - матрица целых чисел; m,n - количество строк и столбцов матрицы; i,j - номера строк и столбцов матрицы; k - номер строки, в которой находится минимальный элемент матрицы; l - номер столбца, в котором находится минимальный элемент матрицы; min - минимальный элемент матрицы.

// Программа №41

#include<iostream.h>

#include<stdlib.h>

int a[100][100];

int k,l,i,j,min,m,n;

main()

{

cout << "Введите количество строк матрицы m =";

cin >> m;

cout << "Введите количество столбцов матрицы n =";

cin >> n;

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

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

a[i][j]=rand()%10;

cout << "\nИсходная матрица a[i,j]:\n";

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

{

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

cout << a[i][j] << " ";

cout << "\n";

}

cout << " \n ";

min=a[1][1];

k=1;

l=1;

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

{

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

{

if (min>a[i][j])

{

k=i;

l=j;

min=a[i][j];

}

}

}

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

{

a[i][l]=0;

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

{

a[k][j]=0;

}

}

cout << "\n\n";

cout << "Результат:\n";

cout << "Минимальный элемнт матрицы = " << min << "\n\n";

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

{

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

{

cout << a[i][j] << " ";

}

cout << "\n";

}

return 0;

}