You are on page 1of 6

КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

ІМЕНІ ТАРАСА ШЕВЧЕНКA


ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра інтелектуальних технологій

Лабораторна робота №1
з дисципліни «Алгоритмізація та програмування»
з теми «Обробка масивів даних»
Варіант №2

Виконала студентка
групи КН-12
Пхайко Софія Дмитрівна
Перевірила:
Гамоцька Сніжана Леонідівна

Київ – 2020
Array2. Дано целое число N (> 0).
Сформировать и вывести целочисленный
массив размера N, содержащий степени
двойки от первой до N-й: 2, 4, 8, 16,....
Таблиця 1 -МПЗ
Вхідні Дії Вихідні
дані дані
N-ціле 1.Введення N; a[i]-ціле
2.Для і=1 a[i] =
N>0
a[i - 1] * 2;
3.Для і=0
вивести a[i].
Текст програми мовою С++ :
#include <iostream>
using namespace std;
int main()
{
int a[10];
int n, i = 1;
cout << "N=";
cin >> n;
for (i = 1, a[0] == 2; i < n; ++i) a[i] = a[i
- 1] * 2;
for (i = 0; i < n; ++i) cout << "a[" << i <<
"]=" << a[i] << endl;
return 0; Рисунок 1 –Схема алгоритму
}
Результат роботи програми:
1.N=5.
0 1 2 3 4 5 6 7 8 9
2 4 8 16 32 64 128 256 512 1024

Рисунок 2-Результат виконання програми


Array9. Дан целочисленный массив размера N. Вывести все содержащиеся в
данном массиве четные числа в порядке убывания их индексов, а также их
количество K.
Таблиця 1 -МПЗ
Вхідні Дії Вихідні
дані дані
N-ціле 1.Введення N; a[i],K-
2. Для і=0 : цілi
якщо a[i] % 2 = 0,вивести a[i];
3.++k;
4.Вивести k, a[i].
Текст програми мовою С++ :
#include <iostream>
using namespace std;
int main()
{
int a[10];
int n, i, k = 0;
cout << "N: ";
cin >> n;
for (i = 0; i < n; ++i) {
cout << "a[i]=";
cin >> a[i];
}
for (i = n - 1; i >= 0; --i)
if (a[i] % 2 == 0) {
cout << "a[" << i << "]=" << a[i] << endl;
++k;
}
cout << "a[" << i << "]=" << a[i];
cout << " k=" << k << endl;
return 0;
}

Рисунок 3 –Схема алгоритму


Результат виконання програми:
1.N=6
0 1 2 3 4 5 6 7 8 9
6 5 4 3 2 1 0 -1 -2 -3

Рисунок 4-Результат виконання програми


Array11. Дан массив A размера N и целое число
K (1 ≤ K ≤ N). Вывести элементы массива с
порядковыми номерами, кратными K: Аk , А2 k , А3 k
,… .
Условный оператор не использовать.
Таблиця 1 -МПЗ
Вхідні Дії Вихідні
дані дані
N-ціле 1.Введення N; a[i],K-
2. Для і=0,ввести a[i]; цілi
3.i=k;
4.Поки i<=n:
вивести a[i] , i+=k;
Текст програми мовою С++ :
#include <iostream>
using namespace std;
int main(void)
{
int a[10];
int n, i, k;
cout << "N: ";
cin >> n; Рисунок 5 –Схема алгоритму
cout << "K: ";
cin >> k;
for (i = 0; i < n; ++i) {
cout << "a[" << i << "]: ";
cin >> a[i];
}
i = k;
while (i <= n) {
cout << "a[" << i << "]=" << a[i] << ";";
i = i + k;

}
return 0;
}
Результат виконання програми:
1.N=3;K=2
0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10

Рисунок 6-Результат виконання програми


Array25. Дан массив ненулевых целых чисел размера N.
Проверить, образуют ли его элементы геометрическую
прогрессию (см. задание Array4). Если образуют, то вывести
знаменатель прогрессии, если нет — вывести 0.
Таблиця 1 -МПЗ
Вхідні Дії Вихідні
дані дані
N-ціле 1.Введення N; z-ціле
2.Для і=0: ввести a[i];
3. float z = (float)a[1] / (float)a[0];
4. Для і=1 :
якщо z != (float)a[i] / (float)a[i -
1]),вивести z = 0;
5.Вивести z.
Текст програми мовою С++ : Рисунок 7 –Схема алгоритму
#include <iostream>
using namespace std;
int main()
{
int a[10];
int n;
cout << "N=";
cin >> n;
int i;
for (i = 0; i < n; ++i) {
cout << "a[" << i + 1 << "]=";
cin >> a[i];
}
float z = (float)a[1] / (float)a[0];
for (i = 1; i < n; ++i) {
if (z != (float)a[i] / (float)a[i - 1]) z = 0;
}
cout << "z=" << z;
return 0;
}
Результат виконання програми:
1.N=4
0 1 2 3 4 5 6 7 8 9
-1 1 3 5 7 9 11 13 15 17

Рисунок 8-Результат виконання програми


Array31. Дан массив размера N. Найти номера тех элементов массива,
которые больше своего левого соседа, и количество таких элементов.
Найденные номера выводить в порядке их убывания.
Таблиця 1 -МПЗ
Вхідні Дії Вихідні
дані дані
N-ціле 1.Введення N; num-цілe
2.Для і=0: ввести a[i];
3.int num=0;
4. Для і=n-1 :
Якщо a[i-1]<a[i] , то ++num;
5.Вивести num.
Текст програми мовою С++ :
#include <iostream>
using namespace std;
int main()
{
int a[10];
int n;
cout << "N=";
cin >> n;
int i;
for (i = 0; i < n; ++i) {
cout << "a[" << i + 1 << "]=";
cin >> a[i];
} Рисунок 9 –Схема алгоритму
int num = 0;

for (i = n - 1; i >= 1; --i) {


if (a[i - 1] < a[i]) {
cout << "i=" << i + 1 << endl;
++num;
}
}
cout << "num=" << num;
return 0;
}
Результат виконання програми:
1.N=4
0 1 2 3 4 5 6 7 8 9
1 3 5 7 9 11 13 15 17 19

Рисунок 10-Результат виконання програми

You might also like