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

35. Опpеделить количество положительных элементов в каждом столбце матpицы.

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

// Program ex35;

#include<iostream.h>

#include<stdlib.h>

int a[100][100];

int c[100];

int i,j,n,k,l;

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-5;

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

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

{

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

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

cout << "\n";

}

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

{

c[j]=0;

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

{

if (a[i][j]>=0)

c[j]=c[j]+1;

}

}

cout << "\n\n Кол-во положительных элементов в столбцах = ";

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

cout << c[j] <<" ";

}

36. Задана квадpатная матpица целых чисел a[k,k]. Поменять местами элементы главной и обpатной диагонали.

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

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

#include<iostream.h>

#include<stdlib.h>

int a[100][100];

int i,j,k,r;

main()

{

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

cin >> k;

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

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

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

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

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

{

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

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

cout << "\n";

}

j=k-1;

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

{

r=a[i][j];

a[i][j]=a[i][i];

a[i][i]=r;

j--;

}

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

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

{

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

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

cout << "\n";

}

return 0;

}

37. Опpеделить максимальный элемент матpицы.

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

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

// Определить максимальный элемент матрицы.

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

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

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

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

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

#include<iostream.h>

#include<stdlib.h>

int a[100][100];

int k,l,i,j,max;

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-5;

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];

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

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

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

cout <<"\n";

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

return 0;

}

38. Задана матpица целых чисел a[m,n]. Опpеделить min элемент сpеди a[i,j] > 0.

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

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

#include<iostream.h>

#include<stdlib.h>

int a[10][10];

int b[100];

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

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()%100-50;

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

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

{

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

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

cout << "\n";

}

k=-1;

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

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

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

{

k++;

b[k]=a[i][j];

}

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

if(k!=-1)

{

cout << "\nЭлементы матрицы a[i][j]>0: ";

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

cout << b[i] << " ";

min=b[0];

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

if(min>b[i]) min=b[i];

cout << "\nmin=" << min;

}

else cout << "\na[i][j]>0 НЕТ!!!";

cout << "\n\n";

return 0;

}