лр6

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

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

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

Звіт

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

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


варіант 30

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

Харків 2021
Тема заняття: Алгоритми над одновимірними масивами. Алгоритми
пошуку у масивах.
Мета проведення заняття: навчитись створювати та виконувати базові
операції над одновимірними масивами.

Завдання №1.
Умова:

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

m[15], i=0, avg=0

k=0;k<15;k++

m[k]=rand()%20+1

m[k]

k=0;k<15;k++

Так Ні
m[k]%3==2

i+=1, avg+=m[k]*m[k]

m[k]

Avg/=i

Код програми: avg

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

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

n = rand()%15+5

Кількість елементів у масиві:

z=0;z<n;z++

Сгенерований масив:

int k=0;k<n;k++

a[k]=rand()%30

a[k]

int k=0;k<n;k++

a[k]%n!=0

a[k]+=n

"Масив, у якому елементи, які не діляться на n змінюються на +n

z=0;z<n;z++

z=0;z<n;z++

a[k]
Код програми:

Результат:

Завдання №3
Умова:
Блок-схема:

Початок

n = rand()%20+5, a=0, l=0

z=0;k<n;k++

z=0;k<n;k++

m[z]=rand()%10-5

m[z]

k=0;k<zn;zk++

m[k]>maks

maks=m[k]

maks

k=zn;k<n;k++

m[k]<met

Met=m[k]

M[a]=maks, m[l]=met

k=0;k<n;k++ кінець

M[k]
Код:
#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 n, a=0, l=0, zn;
n=rand()%10+5;
int m[n], maks, mini;
cout<<"Кількість елементів в масиві: "<<n<<"\n"<<"Сгенерований массив: "<<endl;
for (int k=0;k<n;k++)
cout<<setw(5)<<k;
cout<<"\n";
for (int k=0;k<n;k++)
{
m[k]=rand()%20-7;
cout<<setw(5)<<m[k];
}
maks=m[0];
mini=m[n-1];
for (int k=0.0;k<n/2;k++)
{
if (maks<m[k])
{
maks=m[k];
l=k;
}
}
cout<<"\n"<<"Максимальний елемент: "<<maks<<" Номер елементу: "<<l;

for (int k=n/2+1 ;k<n;k++)


{
if (mini>=m[k])
{
mini=m[k];
a=k;
}
}
cout<<" Мінімальний елемент: "<<mini<<" Номер елементу: "<<a;
m[l]=mini;
m[a]=maks;
cout<<"\n"<<"Масив, у якому ці елементи обернулись місцями: "<<endl;;
for (int k=0;k<n;k++)
cout<<setw(5)<<k;
cout<<"\n";
for (int k=0;k<n;k++)
{
cout<<setw(5)<<m[k];
}
}
Результат

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

n=rand()%15+4, z=0

int k=0;k<n;k++

int k=0;k<n;k++

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

m[k]

int k=0;k<n;k++

m[k]<=0

z+=1

int k=1;k<=z;k++

el=m[n-1]

l=n-2;l>=0;l--

m[l+1]=m[l]

m[0]=el;

int k=0;k<n;k++

Кінець
Код
#include <iostream>
#include <iomanip>
#include <math.h>
#include <ctime>
#include <windows.h>
using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0));
int n;
n=rand()%15+4;
cout<<"Кількість елементів масиву: "<<n<<"\n";
int m[n];
for (int k=0;k<n;k++)
cout<<setw(5)<<k;
cout<<"\n";
for (int k=0;k<n;k++)
{
m[k]=rand()%20-10;
cout<<setw(5)<<m[k];
}
cout<<"\n";
int z=0;
for (int k=0;k<n;k++)
{
if (m[k]<=0)
z+=1;
}
cout<<"Кількість від'ємних елементів: "<<z<<"\n";
for (int k=1;k<=z;k++)
{
int l=n-2, el=m[n-1];
for(l;l>=0;l--)
{
m[l+1]=m[l];
}
m[0]=el;
}
cout<<"Масив після циклічного сдвигу: "<<"\n";
for (int k=0;k<n;k++)
cout<<setw(5)<<k;
cout<<"\n";
for (int k=0;k<n;k++)
{
cout<<setw(5)<<m[k];
}
}
Результат

Висновок: Навчився створювати та виконувати базові операції над


одновимірними масивами.

You might also like