Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка (Мова С) .doc
Скачиваний:
13
Добавлен:
04.11.2018
Размер:
1.22 Mб
Скачать

Лабораторна робота №2 Тема: Створення і використання функцій

Завдання 1

Робота з векторами та матрицями

  1. Задано матрицю розміру 55, елементи якої вводяться по стовпчиках. Визначити, в скількох стрічках матриці елементи знаходяться в спадаючому порядку.

  2. Задано вектор цілих чисел A(n) величиною від 1 до 40. Надрукувати всі числа, які входять в цю послідовність по одному разу.

  3. За заданою квадратною матрицею розміру побудувати вектор довжиною 2n-1, елементи якого — максимуми елементів діагоналей, паралельних головній діагоналі .

  4. Знайти максимальний серед всіх елементів тих рядків заданої матриці, які впорядковані (або за зростанням, або за спаданням).

  5. Взаємнооднозначне відображення елементів матриці на себе можна задати за допомогою двох цілочисельних матриць: в першій вказувати номер рядка, куди переходить даний елемент, а в другій – номер стовпчика. Побудувати 2 матриці, що задають відображення кожного елементу матриці розміром на симетричний йому відносно головної діагоналі. Застосувати створені матриці.

  6. Дано множину прямих на площині (коефіцієнтами рівнянь, які утворюють матрицю). Підрахувати кількість точок перетину цих прямих .

  7. В заданій послідовності цілих чисел (в векторі A(n)) знайти найдовшу послідовність, яка є арифметичною чи геометричною прогресією.

  8. Для заданої цілочисельної матриці знайти максимум серед сум елементів діагоналей, паралельних головній діагоналі матриці .

  9. Упорядкувати рядки матриці розміром за зростанням мінімального елементу рядка.

  10. Задано два впорядковані масиви F(n), E(m). Об’єднати їх в один упорядкований за зростанням масив.

  11. Перевірити, чи утворюють рядки матриці A(n, m) монотонні послідовності. А стовпці? Видати їх кількість.

  12. Задано вектор цілих чисел A(N). Створити вектор з елементів, розташованних між першим максимальним і останнім мінімальним елементами масиву А. Впорядкувати його.

  13. Задано матрицю цілих чисел A(N,М), і – ціле число, Роздрукувати всі мінори і-го стовпчика.

  14. Задано вектор A(N) і матриця B(N,М). Побудувати вектор C=AB і пронормувати його.

  15. Задано три дійсні матриці A, B, C розмірності N. Розв’язати рівняння ax2+bx+c=0, де a, b, c – мінімальні елементи матриць A, B, C.

  16. Використовуючи схему Горнера обчислити значення многочлена в точці , де – відомий вектор розмірності .

  17. В дійсних векторах і містяться коефіцієнти двох многочленів степенів і відповідно. Побудувати вектор , що буде містити коефіцієнти добутку цих двох векторів (, елемент вектора з індексом містить коефіцієнт при степені ).

  18. Дано неспадний вектор додатних цілих чисел . Знайти найменше ціле додатне число, що не представляється у вигляді суми декількох елементів цього масиву.

  19. Дано матрицю і число . Для кожного квадрата в цій таблиці обчислити суму чисел, що знаходяться в ньому.

  20. У векторі зустрічаються по одному разу цілі числа від до , . Знайти пропущені числа.

  21. Дано вектор і число . Для кожної ділянки із сусідніх елементів (а таких ділянок, очевидно, буде ) обчислити її суму.

  22. Задана цілочисельна матриця , впорядкована по рядках і стовпчиках (,) і ціле число . Чи зустрічається серед елементів матриці .

  23. Дано два впорядковані за зростанням дійсні масиви і і число . Знайти суму виду , що знаходиться найближче до числа .

  24. Дано натуральне число і послідовність дійсних чисел , , ..., . Отримати , . Перевірити чи впорядкована послідовність за спаданням (зростанням).

  25. Дано натуральне число і послідовність дійсних чисел , , ..., . Обчислити добуток членів послідовності, що знаходяться між першим і другим нульовим членами, а також кількість сусідств двох додатних чисел.

  26. Дано натуральне число і послідовність дійсних чисел , , ..., . Знайти кількість тих членів послідовності, для яких виконується нерівність , а також довжину найменшого відрізка числової осі, що містить числа , , ..., .

  27. Для заданої матриці з елементами дійсного типу визначити чи є матриця магічним квадратом, тобто такою, у якій суми елементів у всіх стрічках і рядках однакові.

  28. Підрахувати кількість локальних мінімумів заданої цілочисельної матриці . Під локальним мінімумом матриці розумітимемо елемент матриці, що менший за всіх своїх сусідів.

  29. Визначити чи є задана матриця ортонормованою, тобто такою, що скалярний добуток кожної пари різних стрічок дорівнює 0, а скалярний добуток кожної стрічки на себе дорівнює 1.

  30. Знайти індекси всіх сідлових точок заданої матриці , тобто таких елементів, які є найменшими в своїй стрічці і одночасно найбільшими в рядку.

Завдання 2

Робота з рядками

  1. Дано рядок символів. Створити функцію, яка на вхід одержує рядок символів і повертає новий рядок, в якому символи розташовані в оберненому порядку. Функція повинна повертати також довжину рядка.

  2. Дано рядок символів. Створити функцію, яка на вхід одержує рядок символів і повертає 1, якщо рядок символів симетричний і 0, якщо несиметричний.

  3. Дано два рядка символів. Створити функцію, яка на вхід одержує два рядка символів і повертає 1, якщо кожний символ першого рядка міститься в другому, і 0, якщо ні.

  4. Дано рядок символів. Створити функцію, яка на вхід одержує рядок символів і повертає символ, який зустрічається в рядку найчастіше, і скільки разів він зустрічається. Якщо таких символів декілька, тоді взяти символ з найменшим кодом.

  5. Дано рядок символів. Створити функцію, яка на вхід одержує рядок символів і повідомляє, скільки разів зустрічається в рядку кожний із символів рядка. Інформація про кожний символ повинна друкуватися один раз. Функція повинна також повертати ціле число, яке дорівнює кількості різних символів в рядку.

  6. Дано рядок символів. Створити функцію, яка на вхід одержує рядок символів і повертає 1, якщо в рядку цифр більше, ніж інших символів, 0 - якщо рівно і –1, якщо цифр менше.

  7. Рядок символів складається з слів, між якими – пробіли. Створити функцію, яка на вхід одержує рядок символів і друкує всі слова, які починаються і закінчуються однією буквою. Функція повинна також повертати ціле число, яке дорівнює кількості таких слів.

  8. Дано рядок символів. Створити функцію, яка на вхід одержує рядок символів і один символ, функція друкує ті слова рядка, в яких зустрічається цей символ. Функція повертає ціле число, яке дорівнює кількості таких слів. Рядок символів складається з слів, між якими – пробіли.

  9. Створити функцію, яка одержує на вхід ціле число і повертає рядок символів, який є записом цього числа в трійковій системі числення.

  10. Дано рядок символів, що складається із слів, які розділені пробілом. Вивести ті слова, в яких є дві однакові букви підряд.

  11. Дано рядок символів. Створити функцію, яка на вхід одержує рядок символів і повертає новий рядок символів, який містить першу по порядку найдовшу групу цифр і довжину цієї групи.

  12. Створити функцію. Функція порівнює два рядка символів і повертає: -1, якщо рядок1  рядка 2; 0, якщо рядок 1 = рядок 2; 1, якщо рядок 1  рядка 2. Рядки порівнюються посимвольно. Функція повинна також повертати номер першої позиції, де рядки не співпадають, і –1, якщо рядки співпадають. Таку саму дію (порівняння рядків) виконати стандартною функцією.

  13. Дано рядок символів. Створити функцію, яка на вхід одержує рядок символів і повертає кількість цифр в рядку, а також кількість слів в рядку.

  14. Дано рядок символів, який складається із слів, між якими – пробіли. Визначити кількість симетричних слів в тексті. Перевірку симетричності оформити у вигляді функції.

  15. Чи є в тексті слова, які складаються з однакових букв (в тому числі і по кількості букв, що повторюються)?

  16. Дано рядок символів, що складається із слів, розділених пробілами. Створити функцію, яка на вхід одержує рядок символів і друкує усі слова рядка, а також кількість входжень в рядок кожного із слів.

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

  18. Дано рядок символів, що складається із слів, розділених пробілами. Створити функцію, що друкує слова, в яких доля голосних максимальна.

  19. Створити функцію, що перевіряє, чи є в рядку баланс дужок, що відкриваються і закриваються (з можливістю вибору символів дужок). Якщо так, то функція повинна повертати 1, інакше – 0.

  20. Дано два рядки символів, що складаються із слів, між якими – пробіли. Створити функцію, яка друкує найкоротше слово першого рядка, якого немає в другому рядку.

  21. Дано рядок символів, що складається з літер латинського алфавіту. Створити функцію, яка повертає зашифрований рядок символів на основі шифру, що утворюється циклічним зсувом літер латинського алфавіту на символів (вліво чи вправо).

  22. Дано зашифрований рядок символів, що складається з літер латинського алфавіту. Створити функцію, яка повертає розшифрований рядок символів на основі шифру, що утворюється циклічним зсувом літер латинського алфавіту на символів (вліво чи вправо).

  23. Дано рядок символів. Створити функцію, яка подвоює в ньому групи однакових символів. Функція повертає змінену стрічку. Вихідна стрічка не модифікується.

  24. Дано два рядки символів, що складаються із слів, між якими – пробіли. Створити функцію, яка друкує найдовше спільне слово двох рядків.

  25. Дано рядок символів. Нехай – кількість голосних, – кількість приголосних у рядку (до уваги беруться тільки символи латинського алфавіту), – кількість інших допоміжних символів, . Створити функцію, яка повертає z, і у випадку коли , друкує рядок без допоміжних символів (крім останнього символу).

  26. Дано рядок символів. Перевірити чи є у рядку слова, у яких відношення кількості голосних літер до приголосних більше 0.3. Надрукувати їх у випадку присутності. Для обчислення відношення кількості голосних літер до приголосних у слові використати функцію, що повертає необхідне відношення.

  27. Перевірити, чи є у вхідному рядку символів, що складається із слів, розділених пробілом, цілі числа , що задовольняють умову . Для перевірки числа використати функцію. У випадку наявності таких чисел надрукувати їх, а також їхню кількість.

  28. Дано рядок символів, що складається із слів, розділених пробілами. Замінити у рядку усі дійсні числа, корінь квадратний із модуля яких більший 10, послідовністю символів “*>100*”. Для перевірки числа написати функцію.

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

  30. Створити функцію, яка на вхід одержує рядок символів, повідомляє кількість входжень кожної цифри в рядок і у випадку, якщо цифр 5, 6, 7, 8, 9 більше за 0, 1, 2, 3, 4 – заміняє кожну з цифр 0, 1, 2, 3, 4 на послідовність символів “”,“*”,“**”,“***”,“****”.