И еще одна задача из контрольной работы по массивам, включающая в себя составление блок-схемы в системе «Алгоритм» и написание программы на Турбо Паскале. Исходники загружаются по ссылке в конце статьи.
Дано масив {X} розмірністю n.
Потрібно: замінити знаки так, щоб всі елементи масиву стали від’ємними, якщо тільки на k позиціях підряд є однакові елементи.
При невиконанні заданої умови видати повідомлення «Рішення не існує».
Обмеження: створення допоміжного масиву і використання примусових засобів виходу з циклу з параметром не дозволяється.
Маємо такі вхідні дані:
Для обчислення задачі треба:
Використовуючи систему АЛГОРИТМ, побудуємо блок-схему для нашої задачі:
Користуючись розробленою блок-схемою, побудуємо програму в середовищі Turbo Pascal для обчислення поставленої задачі:
Проведемо обчислення при n=6 та к=3.
Отримаємо такі результати роботи програми:
x[1]=1.0 x[2]=2.0 x[3]=3.0 x[4]=3.0 x[5]=3.0 x[6]=4.0
y[1]=-1.0 y[2]=-2.0 y[3]=-3.0 y[4]=-3.0 y[5]=-3.0 y[6]=-4.0
Якщо в масиві підряд буде менше однакових елементів, ніж число к=3, то отримаємо:
x[1]=1.0 x[2]=2.0 x[3]=3.0 x[4]=3.0 x[5]=4.0 x[6]=5.0
Рішення не існує.
Если вы желаете скачать листинг программы и файл с блок-схемой из системы «Алгоритм», нажмите на эту кнопку:
Также вы можете ознакомиться с решением другой задачи по массивам, работой с массивами в Турбо Паскале и задачи по замене знаков в массиве.
Завдання
Дано масив {X} розмірністю n.
Потрібно: замінити знаки так, щоб всі елементи масиву стали від’ємними, якщо тільки на k позиціях підряд є однакові елементи.
При невиконанні заданої умови видати повідомлення «Рішення не існує».
Обмеження: створення допоміжного масиву і використання примусових засобів виходу з циклу з параметром не дозволяється.
Маємо такі вхідні дані:
- Масив Х.
- n – кількість елементів масиву.
- к – число, яке вказує, на скількох позиціях підряд повинні находитися однакові елементи. При обчисленні задачі повинна проводитися перевірка на те, щоб число к не перевищувало число елементів масиву n.
План роботи
Для обчислення задачі треба:
- Порівняти кожний елемент масиву з попереднім.
- Якщо наступний елемент дорівнює попередньому, то в допоміжну змінну заноситься число однакових елементів підряд (в даному випадку 2).
- Далі слідуючий елемент порівнюється з попереднім.
- Якщо і він буде дорівнювати попередньому, то до нашої допоміжної змінної додається одиниця, і змінній буде вже присвоєно число 3. І так далі.
- Потім значення цієї змінної порівнюється з введеним з клавіатури числом к.
- Якщо значення співпадають, то всі знаки у масиві Х змінюються на від’ємні і на екран монітору виводиться результуючий масив У. У противному разі ми побачимо повідомлення, що рішення в даному випадку не існує. Таке ж повідомлення ми побачимо й у тому разі, коли число к, введене з клавіатури, буде перевищувати число n – кількість елементів масиву.
Блок-схема та результати обчислень
Використовуючи систему АЛГОРИТМ, побудуємо блок-схему для нашої задачі:
Користуючись розробленою блок-схемою, побудуємо програму в середовищі Turbo Pascal для обчислення поставленої задачі:
Проведемо обчислення при n=6 та к=3.
Отримаємо такі результати роботи програми:
Похідний масив
x[1]=1.0 x[2]=2.0 x[3]=3.0 x[4]=3.0 x[5]=3.0 x[6]=4.0
Результуючий масив
y[1]=-1.0 y[2]=-2.0 y[3]=-3.0 y[4]=-3.0 y[5]=-3.0 y[6]=-4.0
Якщо в масиві підряд буде менше однакових елементів, ніж число к=3, то отримаємо:
Похідний масив
x[1]=1.0 x[2]=2.0 x[3]=3.0 x[4]=3.0 x[5]=4.0 x[6]=5.0
Рішення не існує.
Если вы желаете скачать листинг программы и файл с блок-схемой из системы «Алгоритм», нажмите на эту кнопку:
Также вы можете ознакомиться с решением другой задачи по массивам, работой с массивами в Турбо Паскале и задачи по замене знаков в массиве.
Комментариев нет:
Отправить комментарий