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

Void main()

{

int const n=5, m=7;

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

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

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

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

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

{

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

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

cout<<"\n";

}

cout<<"\n";

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

for(j=0;j<m-1;j++)

matr[i][j]=matr[i][j]-matr[n-1][j];

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

{

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

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

cout<<"\n";

}

}

Приклад.

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

2

9

4

7

5

3

6

1

8

13

8

12

1

2

11

7

14

3

10

6

15

16

5

9

4

// Перевіряє, чи є матриця «магічним» квадратом

#include <iostream.h>

Void main()

{

const int SZ=5;// максимальний розмір матриці

int a[SZ][SZ]; // матриця

int n; // розмір матриці

int ok; // матриця - "магічний" квадрат

Int I,j; // індекси масиву

int sum; // сума елементів головної діагоналі

int temp; // сума елементів поточного рядка,

// стовпця та другої діагоналі матриці

cout<<"*** МАГІЧНИЙ КВАДРАТ ***\n";

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

cin>>n;

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

cout<<"Після введення рядка "<<n<<" цілих чисел ";

cout<<"натискайте <Enter>\n";

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

{

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

cin>>a[i][j];

}

ok = 1; // хай матриця - "магічний" квадрат

// обчислимо суму елементів головної діагоналі

sum = 0;

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

sum += a[i][i];

// обчислюємо суми по рядкам

i = 0;

do {

temp = 0 ; // сума елементів поточного рядка

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

temp+=a[i][j];

if (temp!=sum) ok=0;

i++;

} while (ok && i<n);

if (ok)

{

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

// дорівнює сумі елементів головної діагоналі

// обчислюємо суми по стовпцям

j = 0;

do {

temp = 0; // сума елементів поточного стовпця

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

temp += a[i][j];

if (temp != sum) ok = 0;

j++;

} while (ok && i < n);

}

if (ok) {

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

// дорівнює сумі елементів кожного стовпця та

// сумі елементів головної діагоналі.

// Обчислимо суму елементів другої

// головної діагоналі

temp = 0;

i=n-1;

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

temp+=a[i--][j];

if (temp!=sum) ok=0;

}

cout<<"Введена матриця ";

if (!ok)

cout<<"не є \"магічним\"квадратом.\n";

}

Приклад.

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

# include<iostream.h>

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