вторник, 6 ноября 2018 г.

Задачі

Визначити, чи є рядок паліндромом.

Паліндром - це число, слово або фраза, однаково читаються в обох напрямки.
Опис змінних:

s - рядок;
f - прапор.

Алгоритм рішення задачі:

Брати черговий символ з початку рядка і порівнювати його з протилежним.
Якщо символи не рівні, то видати повідомлення "не паліндром", змінити значення прапора і зупинити порівняння.
Якщо значення прапора не було змінено, то видати повідомлення "паліндром".


В одновимірному масиві знайти мінімальний і максимальний елементи. Обчислити їх різницю.

Наприклад, дано масив [3, 5, 9, 4, 2, 6]. Максимальним числом є 9, мінімальним є 2. Різниця становить 9-2 = 7.
В даному випадку мінімум і максимум можна шукати за індексом і за значенням.

Розглянемо спочатку пошук за значенням: нехай в змінні min і max записуються відповідно значення мінімального і максимального елементів. До циклу їм треба привласнити такі значення, які виходять за межі діапазону масиву. При цьому змінна max повинна отримати значення, що виходить за нижню межу (менше можливого), а min - за верхню межу (більше можливого).

Будемо в циклі перебирати елементи масиву і порівнювати їх значення з min і max. Якщо черговий елемент більше max, то дамо його значення змінної max. Якщо менше значення змінної min, то дамо min. При цьому якщо перша умова "спрацювало", то нема чого перевіряти друге. Тому слід використовувати else, в яке вкладено другий if.

Після циклу, щоб відповісти на питання завдання, треба з max відняти min. Результат вивести на екран.
В одновимірному масиві видалити всі парні елементи і залишити тільки непарні.

Скопіювати в інший масив тільки непарні елементи.
З натурального числа видалити задану цифру. Число і цифру вводити з клавіатури.

Наприклад, задано число 5683. Потрібно видалити з нього цифру 8. Вийде число 563.
Завдання ускладнюється тим, що заздалегідь невідомо кількість розрядів числа. Тому вихідне число простіше почати перевіряти з кінця за допомогою оператора mod (знаходження залишку від ділення). Ділити треба на 10, щоб отримати останню цифру числа.

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

Після того, як задана цифр буде видалена, число знову перевертається.