Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП_ОР_1_(1+2)_23.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
308.74 Кб
Скачать
      1. Вимоги до програми

  1. Відповідність структурному підходу.

  2. Виведення вхідних, проміжкових і вихідних даних.

  3. Наявність прототипів функцій.

  4. Генерація масиву випадковим чином.

  5. Використання параметрів-масивів.

      1. Приклад програми

Задача. Заданий одновимірний масив цілих чисел, серед яких є і від’ємні. Знайти суму його додатних елементів.

Алгоритм

  1. Початок.

  2. Згенерувати вихідний масив.

    1. Цикл перебору елементів масиву:

      1. Ініціалізація поточного елемента масиву значенням випадкового числа;

      2. Якщо ініціалізовано усі елементи, то кінець циклу; інакше перейти до наступного елемента.

  3. Вивести згенерований масив для перегляду.

    1. Цикл перебору елементів масиву:

      1. Вивести поточний елемент масиву;

      2. Якщо виведені усі елементи, то кінець циклу; інакше перейти до наступного елемента.

  4. Обчислити і вивести суму додатних елементів масиву.

    1. Переглядати почергово елементи масиву:

      1. Якщо поточний елемент додатний, то накопичувати суму;

      2. Якщо переглянуті усі елементи, то кінець циклу; інакше перейти до наступного елемента.

    2. Вивести обчислену суму.

  5. Кінець.

Текст програми

#include <stdlib.h>

#include <stdio.h>

#include <iostream>

using namespace std;

const int n=7; // розмірність вихідного масиву

int A[n]; // вихідний масив

void input_a(int*); // генерація масиву

void output_a(int*); // виведення масиву

int sum(int []); // обчислення суми

//=============== головна функцiя ================

int main()

{ input_a(А); //генерувати масив

cout<<"A:"; output_a(А); //вивести згенерований масив

printf("s=%2d\n",sum()); //обчислити і вивести суму

system("pause");

}

//=============== ініціалізація масиву ==============

void input_a(int *p)

{ srand(time(NULL));

for (int i=0; i<n; i++)

{ *p = rand()%19-9; // генерація поточного елемента

p++; // перехід до наступного елемента

}

}

//=============== виведення масиву ================

void output_a(int *p)

{ for (int i=0; i<n; i++)

printf("%3d",*(p+i)); // виведення поточного елемента

printf("\n");

}

//================ обчислення суми =================

int sum(int arr[])

{ int s=0;

for (int i=0; i<n; i++)

if (arr[і]>=0) s+=arr[і]; // накопичення сум елементів

return s;

}

      1. Варіанти завдань

  1. Задані цілочисельні масиви А(n) і В(n). Побудувати масив С(n), кожен елемент якого є добутком максимального елемента даних масивів і найбільшого спільного дільника елементів аі і bі. Для знаходження найбільшого спільного дільника чисел використати алгоритм Евкліда.

  2. Для заданого масиву В(n) дійсних чисел, серед яких є і від’ємні, обчислити найбільше та найменше значення модуля різниці між сусідніми елементами.

  3. Задана послідовність з t цілих чисел. Перевірити, чи утворюють вони арифметичну прогресію. Якщо так, то визначити різницю цієї прогресії; у противному випадку знайти мінімальний елемент послідовності. Замінити отриманим значенням усі парні елементи послідовності.

  4. Заданий масив дійсних чисел М(n), серед яких є і від’ємні. Знайти суму його елементів, розміщених між максимальним та мінімальним елементами масива (в суму включити і самі ці елементи). Всі від’ємні елементи масиву збільшити на величину отриманої суми.

  5. Заданий цілочисельний масив В(n). Визначити різницю між його максимальним і мінімальним елементами. Поміняти місцями мінімальний та останній елементи масиву.

  6. Задані цілочисельні масиви F(n) і G(n). Обчислити , де fmax - макси­мальний елемент масиву F, gmin - міні­мальний елемент масиву G. Замінити елементи fmax і gmin на z.

  7. Заданий масив дійсних чисел А(n), серед яких є і від’ємні. В масиві А поміняти місцями максимальний та мінімальний елементи.

  8. На основі заданих цілочисельних масивів А(n) і В(n) побудувати масив С(n), кожен елемент якого обчислюється як . Знайти середнє арифметичне елементів масиву С і замінити отриманим значенням максимальний його елемент.

  9. Заданий цілочисельний масив A(n) і натуральне k. Обчислити , коли аmin  0, і , коли аmin = 0, де аmin - міні­мальний елемент масиву А. Замінити отриманим значенням всі елементи масиву А, що більші за k.

  10. Для заданого масиву дійсних чисел D(n), серед яких є і від’ємні, знайти величину і індекс найменшого серед його додатних чисел. Поміняти місцями знайдений і максимальний елемент масиву.

  11. Задана послідовність з n цілих чисел, серед яких є і від’ємні, а також натуральні числа р та q. Знайти максимальний елемент послідовності і замінити його квадратом всі її елементи, модуль яких при діленні на р дає у залишку q.

  12. На основі заданих цілочисельних масивів А(n) і С(n) побудувати масив D, кожен елемент якого обчислюється як

В масиві D поміняти місцями мінімальний і останній його елементи.

  1. Заданий масив С(n) цілих чисел, серед яких є і від’ємні. Знайти модуль середнього арифметичного його від’ємних чисел. Всі парні елементи масиву С домножити на отриману величину.

  2. Для заданого цілочисельного масиву С(n) визначити, скільки його елементів кратні 3 і не кратні 5, а також обчислити їх суму. Всі елементи масиву С збільшити на величину отриманої суми.

  3. Заданий цілочисельний масив Р(n). Визначити, скільки елементів масиву Р, що мають парні порядкові номера, є непарними числами; замінити кожен із таких елементів величиною | pmax - pi |, де і – індекс відповідного елемента, pmax - макси­мальний елемент масиву Р. Якщо таких елементів немає, вивести відповідне повідомлення.

  4. Для заданих цілочисельних масивів M(z) і K(z) обчислити . Замінити на t максимальний елемент масиву M і міні­мальний елемент масиву К.

  5. Заданий цілочисельний масив A(n). Побудувати масив В, кожний елемент якого обчислюється як bі = аmax - аі, де аmax - макси­мальний елемент масиву А. Обчислити . Всі кратні 7 елементи масиву А збільшити на величину d.

  6. Задана послідовність із з k цілих чисел. Перевірити, чи утворюють вони геометричну прогресію. Якщо так, то визначити знаменник цієї прогресії; у противному випадку знайти середнє арифметичне першого і останнього елементів послідовності. Замінити отриманим значенням усі непарні елементи послідовності.

  7. Для заданих цілочисельних масивів M(z) і K(z) знайти найменше серед тих значень масиву M, які не входять до масиву K (вважати, що є хоча б одне таке значення).

  8. Заданий масив В(n) дійсних чисел, серед яких є і від’ємні. Знайти величину і індекс максимального серед його від’ємних чисел. Поміняти місцями знайдений і мінімальний елемент масиву.

  9. Задані цілочисельні масиви А(n), В(n). Замінити ті елементи масива А на нуль, для яких в масиві В є рівний елемент.

  10. Задані масив В(n) дійсних чисел і натуральне z. Визначити кількість елементів масиву B, менших за z. Знайти максимальний із цих елементів і його індекс. Поміняти місцями перший і знайдений максимальний елемент.

  11. Задані цілочисельний масив М(n) і натуральне k. Визначити кількість елементів масиву М, більших за k, і їх середнє арифметичне. Замінити відповідні елементи масиву знайденим значенням.

  12. Для заданого цілочисельного масиву Р(m) обчислити , де рmax - макси­мальний елемент масиву Р. Всі елементи масиву Р, що знаходяться на непарних позиціях, зменшити на величину d.

  13. Заданий цілочисельний масив М(n) і натуральні k та t, де k < t. Визначити кількість елементів масиву М, що належать діапазону k t, і їхню суму. Збільшити кожен такий елемент на величину отриманої суми. Якщо шуканих елементів немає, вивести відповідне повідомлення.

  14. Заданий масив Y(n) дійсних чисел, серед яких є і від’ємні. Упорядкувати його елементи за зменшенням та знайти суму тих елементів упорядкованого масиву Y, що знаходяться на парних позиціях.

  15. В магазині утворилася черга з декількох покупців. Відомий час обслуговування продавцем кожного покупця. Визначити час перебування кожного покупця у черзі, а також номер покупця, обслуговування котрого потребує найменше часу.

  16. В деяких видах спортивних змагань виступ спортсмена оцінюється декількома суддями. З сукупності їх оцінок вилучаються найбільш висока та найбільш низька оцінки. Для решти оцінок обчислюється середнє арифметичне, яке і зараховується спортсмену як оцінка його виступу. Треба за введеними суддівськими оцінками обчислити оцінку виступу спортсмена. Кількість суддів не перевищує десяти.