Наслідування
Автор: Lalka 337 • Февраль 19, 2021 • Лабораторная работа • 1,485 Слов (6 Страниц) • 233 Просмотры
Звіт з лабораторної роботи на тему “Наслідування”
Варіант
Умова задачі:
1. Згенерувати масив з N елементів (N = 75), заповнений випадковими
цілими числами (або символами) і вивести його на екран (використати
при цьому власну функцію для виведення масиву на екран). Всі
звертання до елементів масиву виконувати за допомогою вказівників.
2. Видаліть з масиву дані вказані в варіанті.
3. Відсортувати масив, обравши вказані методи та параметри сортування
(використати при цьому окрему функцію для виведення масиву на
екран).
4. Здійснити пошук вказаного (з клавіатури) елемента у масиві,
використовуючи вказаний метод пошуку (використати при цьому окрему
функцію).
5. Варіант №11 відповідно до списку в журналі.
Елементи з непарним індексом, з 17 по 27 включно
Вставки. В якій використано вказівник та застосовано цикл while для пошуку місця елемента вставки
Ціле
З кінця
За спаданням
Бінарний
Код програми:
#include <iostream>
#include <ctime>
#include <iomanip>
#include<Windows.h>
using namespace std;
void insertion_sort(int*, int);
void fill_array(int*, int);
void print_array(int*, int);
int search_binary(int [], int, int, int);
int count_delete_elements();
void delete_elements(const int*, int*, int);
int main()
{
srand(time(NULL));
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
auto S = 75;
auto array = new int[S];
fill_array(array, S);
auto N = S - count_delete_elements();
auto sorted_array = new int[N];
delete_elements(array, sorted_array, S);
cout << "Before: " << endl;
print_array(sorted_array, N);
insertion_sort(sorted_array, N);
cout << endl << "After: " << endl;
print_array(sorted_array, N);
cout << endl;
int key, index = -1;
cout << "Введіть число котре потрібно знайти: ";
cin >> key;
index = search_binary(sorted_array, 0, N, key);
if (index >= 0)
cout << "Вказанное число знаходиться в комірці з індексом: " << index << "\n\n";
else
cout << "В масиві немає такого числа!\n\n";
delete[] sorted_array;
system("pause");
return 0;
}
void insertion_sort(int* array_ptr, const int length)
{
for (int counter = length - 2, item, tmp; counter >= 0; --counter) {
item = counter, tmp = array_ptr[counter];
while (item < length - 1 && tmp < array_ptr[item + 1])
{
array_ptr[item] = array_ptr[item + 1];
item++;
}
array_ptr[item] = tmp;
}
}
void fill_array(int* array_ptr, const int length)
{
for (auto counter = 0; counter < length; counter++) {
array_ptr[counter] = rand() % 100;
}
}
void
...