Пустовалова 2 сем / Лабы / Otchet_Лабораторная работа
.docx
Лабораторная работа № 9. Одномерные массивы |
||||
Пахолко Алёна Степановна 1 курс ПОИТ-6 14 вариант |
||||
Задание |
Условие/Данные |
Решение |
||
1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел (диапазон от 0 до 99). Размер массива ввести с клавиатуры.
|
|
#include <iostream> #include <conio.h> #include <time.h> using namespace std; void main() { const int n = 1000; int a[n], i, sz; cout << "Vvedite razmer massiva: "; cin >> sz; for (i = 0; i < sz; i++) { a[i] = rand() % 100; cout << a[i] << endl; } _getch(); } |
||
|
||||
2. В соответствии со своим вариантом написать программу по условию, представленному в таблице ниже. Составить блок-схему алгоритма.
|
В массиве несколько нулевых элементов. Найти первый и последний нулевые элементы. Вывести их индексы. |
#include <iostream> #include <conio.h> using namespace std; void main() { const int n = 10000; int a[n], i, sz, q, w; cout << "Vvedite razmer massiva: "; cin >> sz; for (i = 0; i < sz; i++) { cout << "a[" << i << "]: "; cin >> a[i]; } for (i = 0; i < sz; i++) { if (a[i] == 0) { cout << "a[" << i << "] "; goto a1; } } a1:for (i = sz; i>0; i--) { if (a[i] == 0) { cout << "a[" << i << "] "; goto a2; } } a2:_getch(); } |
||
3. 6. К номеру своего варианта прибавить 2 и написать программу для новых исходных данных (для вариантов с 15 по 16 перейти к вариантам с 1 по 2). Представить результаты в окне Отла дчика.
|
В массиве найти первый минимальный и первый максимальный элементы. Вывести их индексы. |
#include <iomanip> #include <iostream> #include <conio.h> using namespace std; void main() { int const n = 10; double a[n], ch1, ch2; int i,q1,q2;
for (i = 0; i < n; i++) { cout << "Vvedite a[" << i << "]: "; cin >> a[i]; } ch1 = a[0]; ch2 = a[0]; for (i = 0; i < n; i++) { if (a[i] < ch1) { ch1 = -999999999; q1 = i; } else if (a[i] > ch2) { ch2 = 999999999; q2 = i; } } cout << "min " << q1 << " i max " << q2; _getch(); }
|
||
|
||||
|
|
#include <iomanip> #include <iostream> #include <conio.h> using namespace std; void main() { int const n = 10; double b[n], a[n], ch1, ch2; int i, j, q1, q2;
for (i = 0; i < n; i++) { cout << "Vvedite a[" << i << "]: "; cin >> a[i]; b[i] = 0; } ch1 = a[0]; ch2 = a[0]; for (i = 0; i < n; i++) { if (a[i] < ch1) { ch1 = a[i]; q1 = i; } else if (a[i] > ch2) { ch2 = a[i]; q2 = i; } } for (i = q1 + 1; i < q2; i++) { j = i; b[j] = a[i]; } i = q2 - 1; for (j = 0; j < n; j++) { if (b[j] != 0) { a[i] = b[j]; i--;
} } for (i = 0; i < n; i++) { cout << "a[" << i << "]: " << a[i] << endl; } _getch(); }
|
||
2.Подсчитать количество пар соседних элементов массива с одинаковыми значениями. |
|
#include <iostream> #include <conio.h> using namespace std; void main() { int const n = 5; double a[n], c=0; int i;
for (i = 0; i < n; i++) { cout << "Vvedite a[" << i << "]: "; cin >> a[i]; }
for (i = 0; i < n-1; i++) { if (a[i] == a[i + 1]) { cout << "para a[" << i << "]: " << a[i] << " i a[" << i+1 << "]: " << a[i+1]<< endl; c += 1; } } cout << "kol-vo par: " << c; _getch(); } |
||