Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C9 самост.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
125.95 Кб
Скачать

Т еоретичний матеріал для самостійного вивчення з дисципліни «Основи програмування та алгоритмічні мови»

Приклади задач обробки матриць

Приклад 1.

Знайти суму елементів матриці, які розташовані над головною діагоналлю.

# include<iostream.h>

void main()

{

int S, i, j, N, M, a[20][20];

cout<<”N= “;

cin>>N;

cout<<”M= “;

cin>>M;

cout<<”Input Matrix A”<<endl;

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

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

cin>>a[i][j];

for(S=i=0; i<N; i++)

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

if (j>i) S+=a[i][j];

cout<<”S=”<<S<<endl;

}

Приклад. Скласти програму, яка вводить по рядкам з клавіатури двовимірний масив та обчислює суму його елементів по стовпцям.

// обчислення суми елементів масиву(по стовпцям)

#include <iostream.h>

Void main()

{

const int ROW=3 // кількість рядків

const int COL=5 // кількість стовпців

int a[ROW][COL]; // масив

int s[COL]; // сума елементів

int i,j;

cout<<"\n Введіть масив \n";

cout<<"Після введення елементів кожного рядка,";

cout<<COL<<" цілих чисел, натискайте <Enter> \n";

for (i = 0; i < ROW; i++) // ROW рядків

{

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

cin>>a[i][j];

}

cout<<"\n Введений масив \n";

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

{

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

cout<<a[i][j]<<’ ‘;

cout<<"\n";

}

// "очистимо" масив s

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

s[i]=0;

// обробка

for (j = 0 ; j < COL; j++) // для кожного стовпця

for (i = 0; i < ROW; i++) // сумуємо елементи

s[j] += a[i][j];

cout<<"-------------------------\n";

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

cout<<s[i]<<’ ’;

}

Приклад.

Скласти програму, яка обчислює визначник квадратної матриці другого порядку.

// визначник квадратної матриці другого порядку

#include <iostream.h>

Void main()

{

float a[2][2]; // матриця

float det; // визначник (детермінант)

int i,j; // індекси масиву

соut<<"\n Введіть матрицю другого порядку.\n";

соut<<"Після введення елементів рядка натисніть <Enter>\n";

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

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

cin>>a[i][j];

det =a[0][0]*a[1][1]-a[0][1]*a[1][0] ;

соut<<"\n Визначник матриці \n"<<det;

}

Приклад.

Скласти програму, яка визначає номер рядка квадратної матриці, сума елементів якого максимальна.

// Рядок з максимальною сумою елементів

#include <iostream.h>

Void main ()

{

const int N=3;// розмір квадратної матриці

int m[N][N+1]; // останній стовпець використовуємо

// для зберігання суми елементів рядка

int max; // Рядок з максимальною сумою

// елементів

int i,j; // індекси

cout<<"\n Визначення рядка з максимальною ";

cout<<"сумою елементів";

cout<<"Введіть матрицю \n";

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

{

cout<<"Елементи "<<i+1<<"-го рядку ";

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

cin>>m[i][j];

}

// для кожного рядка обчислимо суму елементів

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

{

m[i][N] = 0;

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

m[i][N]+= m[i][j];

}

// знайдемо рядок з максимальною сумою

max = 0;

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

if (m[i][N]>m[max][N])

max=i;

cout<<"\n B "<<max+1<<"-му рядку сума елементів";

cout<<" максимальна і дорівнює \n", m[max][N];

}

Приклад.

Дана прямокутня матриця розміру m×n. Скласти програму, яка знаходить рядки з найбільшою та найменшою сумою елементів. Вивести знайдені рядки та суми їх елементів.

#include<iostream.h>

#include<stdlib.h>

Void main()

{const int m=8,n=10;

int A[m][n],i,j,sum[m]={0};

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

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

A[i][j]=rand()%10-5;

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

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

sum[i]+=A[i][j];

int max=sum[0];

int min=sum[0];

int maxi=1;

int mini=1;

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

{if (max<sum[i])

{max=sum[i];

maxi=i;}

if (sum[i]<min)

{min=sum[i];

mini=i;}

}

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

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

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

cout<<"\n";}

cout<<"Рядок з максимальною сумою елементів з номером "<<maxi<<" сума дорівнює "<<max<<"\n";

cout<<" Рядок з мінімальною сумою елементів з номером "<<mini<<" сума дорівнює "<<min<<"\n";

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

cout<<sum[i]<<"\n";

}

Приклад. Дана прямокутня матриця розміру N×M. Скласти програму, яка перетворює матрицю наступним чином: поелементно віднімає останній рядок із всіх рядків, крім останнього.

#include<iostream.h>

#include<math.h>

#include<stdlib.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]