You are on page 1of 11

Міністерство освіти і науки України

Харківський патентно-комп’ютерний коледж

Звіт

з лабораторної роботи № 7

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


варіант 1

Виконав: Приняв:
Студент гр. П-93 викладач Мальцева Т.І.
Бачеріков Н.Є.

Харків 2021
Тема заняття: Двовимірні масиви.
Мета проведення заняття: навчитись розробляти прикладні програми з
використанням двовимірних масивів.
Завдання 1
Умова:

Блок-схема:
Початок

i=5, j=4, sum=0

int k=0;k<4;k++

k=0;k<4;k++

z=0;z<5;z++

m[z][k]=rand()%20-10

m[z][k]

k=0;k<4;k++

z=0;z<5;z++

m[z]
sum+=m[z][k]
[k]>0.
Код програми:
#include <iostream>
#include <iomanip>
#include <math.h>
#include <windows.h>
#include <ctime>

using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0));
int i=5, j=4, sum=0;
int m[i][j];
for (int k =0;k<5;k++)
cout<<setw(6)<<k;

cout<<"\n";
for (int k=0;k<4;k++)
{
cout<<k<<setw(5);
for (int z=0;z<5;z++)
{
m[z][k]=rand()%20-10;
cout<<m[z][k]<<setw(6);
}
cout<<"\n";
}
for (int k=0;k<4;k++)
{
for (int z=0;z<5;z++)
{
if (m[z][k]>0.) sum+=m[z][k];
}
}
cout<<"\n"<<"Сума елементів: "<<sum;

Результат:
Завдання 2
Умова:

Блок-схема:

Початок

M[4][5]

int k=0;k<5;k++

k=0;k<5;k++

z=0;z<5;z++

m[k][z]=rand()%20-10

m[k][z]

mini=m[0][0]

h=0; h<4;h++

j=0;j<5;j++

m[h][j]<mini mini=m[h][j]

x=h, y=j

Mini, x, y
Код
#include <iostream>
#include <windows.h>
#include <math.h>
#include <iomanip>
#include <ctime>
using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0));
int m[4][5], x, y;
cout<<"Сгенерований масив: "<<endl;
for (int k=0;k<5;k++)
cout<<setw(5)<<k;
cout<<endl;
for (int k=0; k<4;k++)
{
cout<<k<<setw(4);
for (int z=0;z<5;z++)
{
m[k][z]=rand()%20-10;
cout<<m[k][z]<<setw(5);
}
cout<<"\n";
}
int mini=m[0][0], j, h;
for (h=0; h<4;h++)
{
for (j=0;j<5;j++)
{
if (m[h][j]<mini)
{
mini=m[h][j];
x=h;
y=j;
}
}

}
cout<<"Мінімальний елемент масиву: "<<mini<<", № елемента за рядком: "<<x<<", За стовпцем: "<<y;
}
Результат
Завдання 3
Умова:

Блок-схема
`
Початок

j=rand()%5+3, i=rand()%5+3

k=0; k<i;k++

z=0;z<j;z++

m[k][z]=rand()%20
m[k][z]

k=0; k<i;k++

z=0;z<j;z++
m[k][z]%4!=0 && k
%2==0

m[k][z]-=10

k=0; k<i;k++

z=0;z<j;z++

m[k][z]
Код
#include <iostream>
#include <windows.h>
#include <math.h>
#include <iomanip>
#include <ctime>
using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0));
int i, j;
srand(time(0));
i=rand()%5+3;
j=rand()%5+3;
int m[i][j];
cout<<"Сгенерований масив: "<<endl;
for (int k=0;k<j;k++)
cout<<setw(5)<<k;
cout<<endl;
for (int k=0; k<i;k++)
{
cout<<k<<setw(4);
for (int z=0;z<j;z++)
{
m[k][z]=rand()%20;
cout<<m[k][z]<<setw(5);
}
cout<<"\n";
}
for (int k=0; k<i;k++)
{
for (int z=0;z<j;z++)
{
if (m[k][z]%4!=0 && k%2==0)
m[k][z]-=10;
}
}
cout<<"\n";
for (int k=0;k<j;k++)
cout<<setw(5)<<k;
cout<<endl;
for (int k=0; k<i;k++)
{
cout<<k<<setw(4);
for (int z=0;z<j;z++)
{
cout<<m[k][z]<<setw(5);
}
cout<<"\n";
}
}
Результат

Завдання 4
Умова
Блок- схема
Початок

s1=0, s2=0, j=rand()%3+3

k=0; k<j;k++

z=0;z<j;z++

m[k][z]=rand()%20

m[k][z]

k=0;k<j;k++

m[k][k]

s1+=m[k][k]

k=0, z=j-1;k<j,
z>=0;k++, z--

m[k][z]

s2+=m[k][z]

s1>s2
k=0;
k<j;k++
z=0;z<j;z+
k=0; k<j;k++ Кінець
+

z>j-k-1 z=0;z<j;z++

m[k][z]=d m[k][z]
Код
#include <iostream>
#include <windows.h>
#include <math.h>
#include <iomanip>
#include <ctime>
using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0));
int i, j, s1=0, s2=0, d;
srand(time(0));
j=rand()%3+3;
int m[j][j];
cout<<"Сгенерований масив: "<<endl;
for (int k=0;k<j;k++)
cout<<setw(5)<<k;
cout<<endl;
for (int k=0; k<j;k++)
{
cout<<k<<setw(4);
for (int z=0;z<j;z++)
{
m[k][z]=rand()%20;
cout<<m[k][z]<<setw(5);
}
cout<<"\n";
}
cout<<"Головна дігональ: ";
for (int k=0;k<j;k++)
{
cout<<setw(5)<<m[k][k];
s1+=m[k][k];
}
cout<<"\n"<<"Побічна діагональ: ";
for (int k=0, z=j-1;k<j, z>=0;k++, z--)
{
cout<<setw(5)<<m[k][z];
s2+=m[k][z];
}
d=s1-s2;
cout<<"\n"<<"Сума головної діагоналі: "<<s1<<"\n"<<"Сума побічної діагоналі:
"<<s2<<"\n";

if (s1>s2)
{
cout<<"Різниця між сумами: "<<d<<"\n";
for (int k=0; k<j;k++)
{
for (int z=0;z<j;z++)
{
if (z>j-k-1)
m[k][z]=d;
}
}
}
for (int k=0;k<j;k++)
cout<<setw(5)<<k;
cout<<endl;
for (int k=0; k<j;k++)
{
cout<<k<<setw(4);
for (int z=0;z<j;z++)
{
cout<<m[k][z]<<setw(5);
}
cout<<"\n";
}
}
Результат:

You might also like