Professional Documents
Culture Documents
Лр7
Лр7
Звіт
з лабораторної роботи № 7
Виконав: Приняв:
Студент гр. П-93 викладач Мальцева Т.І.
Бачеріков Н.Є.
Харків 2021
Тема заняття: Двовимірні масиви.
Мета проведення заняття: навчитись розробляти прикладні програми з
використанням двовимірних масивів.
Завдання 1
Умова:
Блок-схема:
Початок
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>
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
Умова
Блок- схема
Початок
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";
}
}
Результат: