
- •Основи програмування методичні вказівки та індивідуальні завдання
- •В ступ
- •Порядок виконання лабораторних робіт
- •Завдання до лабораторних робіт Лабораторна робота № 1
- •Лабораторна робота № 2
- •Лабораторна робота № 3
- •Int SumaCyfr(long c); /* оголошення функцій */
- •Лабораторна робота № 4
- •Лабораторна робота № 5
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 6
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 7
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 8
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 9
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 10
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 11
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 12
- •Варіанти індивідуальних завдань
- •Література
Лабораторна робота № 11
Тема роботи: Багатовимірні масиви та масиви символьних рядків
Мета роботи: ознайомитись із особливостями внутрішньої організації багатовимірних масивів і масивів символьних рядків; опанувати різними формами оголошення й ініціалізації багатовимірних масивів та методами доступу до їхніх елементів.
Методичні вказівки: 1. Складаючи програму передбачити можливість опрацювання довільної (у допустимих межах) кількості елементів масиву. Граничні розмірності багатовимірних масивів і масивів символьних рядків доцільно задавати макроконстантами. Слід вибрати певний спосіб обмеження кількості елементів масиву в процесі введення, наприклад: попередньо ввести поточну розмірність матриці, закінчити введення символьних рядків введенням порожнього рядка тощо.
2. У програмі обов’язково використати різні форми звертання до елементів багатовимірних масивів і масивів символьних рядків, зокрема за допомогою конструкцій “вказівник на масив” або “вказівник на вказівник” (можна розробити декілька варіантів програми). Слід пам’ятати, що кожен рядок матриці чи символьний рядок можна опрацьовувати як окремий масив.
3. Введення вхідних даних та виведення результатів повинно супроводжуватись відповідними повідомленнями. У завданнях, де перетворюються матриці, результат їхнього опрацювання треба обов’язково виводити на екран у формі прямокутної матриці.
Варіанти індивідуальних завдань
Ввести послідовність символьних рядків, у кожному з яких записано прізвище, ім’я та по-батькові одного студента. Визначити і запам’ятати стать кожного. Потім скоротити рядки, залишивши тільки прізвище та ініціали. Надрукувати скорочений список, вказавши в дужках стать кожного студента.
Ввести прямокутну матрицю цілих чисел. Надрукувати номери рядків матриці, всі елементи яких непарні, або вивести повідомлення про відсутність таких рядків. Переставити елементи всіх інших рядків у зворотному порядку.
Ввести послідовність символьних рядків. Визначити, які з ведених рядків є паліндромами, тобто однаково читаються зліва направо та справа наліво (великі й малі літери у паліндромах не розрізняються, пробіли пропускаються). Надрукувати всі паліндроми або вказати, що серед ведених рядків їх немає.
Ввести прямокутну матрицю дійсних чисел. Поміняти місцями два рядки матриці з відповідно найбільшою і найменшою сумою елементів.
Ввести послідовність символьних рядків, кожен з яких має форму: XXYYYYZZZ…, де X, Y, Z – довільні символи, але не цифри. Перетворити ведені рядки до вигляду: 2X4Y3Z… (перед кожним символом вказується кількість його повторень). Надрукувати перетворені рядки та вказати у скільки раз скоротився кожен з них. Який із рядків скоротився найбільше?
Ввести прямокутну матрицю цілих чисел. Циклічно зсунути її рядки на 2 вгору. Підказка: циклічне зсування передбачає, що елементи двох перших рядків матриці заносяться на відповідні місця зсунутих елементів двох останніх рядків.
Ввести послідовність символьних рядків, кожен з яких є двійковим кодом цілого беззнакового числа. Обчислити десяткове значення кожного з цих чисел та вивести на екран таблицю двійкових кодів і відповідних десяткових значень. Відзначити число з найбільшою кількістю двійкових одиниць.
Використовуючи стандартні бібліотечні функції генерування випадкових чисел, заповнити випадковими трицифровими числами матрицю заданої розмірності. Визначити номери рядків сформованої матриці, в яких зустрічається хоча б один елемент з її першого рядка, або вивести повідомлення про відсутність повторень елементів першого рядка.
По одному ввести послідовність слів. Роздрукувати введені слова групами, кожна з яких повинна складатись із тих введених слів, три перші літери яких збігаються.
Ввести прямокутну матрицю дійсних чисел. Визначити номери двох рядків введеної матриці, скалярний добуток яких найменший.
Ввести декілька речень. Всі слова з цих речень, які містять задану літеру, об’єднати в нове речення.
Ввести прямокутну матрицю дійсних чисел. Вилучити з матриці рядок, добуток елементів якого найбільший (для вилучення посунути всі наступні рядки вгору на один). Надрукувати скорочену матрицю.
Ввести послідовність речень. Визначити найдовше слово серед усіх слів введених речень. Речення з цим словом надрукувати великими літерами.
Використовуючи стандартні бібліотечні функції генерування випадкових чисел, заповнити випадковими числами з діапазону R1.. R2 матрицю розмірністю 1015. Надрукувати сформовану матрицю. Потім визначити і вивести на екран середнє значення елементів кожного її рядка. Видалити рядок з найменшим середнім значенням і надрукувати скорочену матрицю.
Ввести послідовність речень і ключове слово. Визначити речення, які містять задане ключове слово або вивести повідомлення про відсутність таких речень. В програмі треба врахувати, що великі й малі літери для ключового слова не розрізняються, а також що ключове слово не повинно бути частиною іншого слова.
Ввести прямокутну матрицю цілих чисел. Вилучити з матриці рядок і стовпчик, на перетині яких знаходиться її найменший елемент. Надрукувати скорочену матрицю.
По одному ввести послідовність слів. Роздрукувати введені слова групами, кожна з яких повинна складатись із тих слів, які мають однакову довжину.
Використовуючи стандартні бібліотечні функції генерування випадкових чисел, заповнити випадковими двоцифровими числами матрицю заданої розмірності. Вказати номери стовпчиків сформованої матриці, в яких зустрічаються однакові елементи, або зазначити, що всі стовпчики складаються з різних чисел.
Ввести послідовність символьних рядків, кожен з яких є 16-м кодом довгого беззнакового числа. Обчислити десяткове значення кожного з цих чисел і вивести на екран таблицю 16-х кодів та їхніх десяткових значень.
Ввести прямокутну матрицю дійсних чисел. Вилучити з матриці рядок з найменшою сумою елементів, посунувши всі наступні рядки вгору на один. Надрукувати скорочену матрицю.
З клавіатури ввести послідовність символьних рядків, кожен з яких має форму: A3B4C2… . Перетворити ведені рядки до вигляду: AAABBBBCC… (цифра після символа у введеному рядку задає кількість повторень цього символа). Надрукувати перетворені рядки та вказати у скільки раз збільшився кожен з них. Підказка: найкраще створити новий рядок потрібної форми, а потім переписати його на місце заданого.
Ввести прямокутну матрицю дійсних чисел. Циклічно зсунути її рядки на один униз. Підказка: циклічне зсування передбачає, що елементи останнього рядка матриці заносяться на відповідні місця зсунутих елементів першого рядка.
Ввести послідовність речень. У кожному з них поміняти місцями перше слово з останнім, замінивши заголовну літеру на малу та навпаки. Надрукувати речення після заміни.
Ввести 7 цілих беззнакових чисел, менших за 1000. Сформувати з цих чисел матрицю розмірністю 710, кожен рядок якої заповнити 0 та 1 відповідно до двійкового коду введеного числа. Надрукувати сформовану матрицю та визначити число, двійковий код якого має найменше 1.
Ввести послідовність українських речень. Визначити, в якому з них найменше слів. Надрукувати це речення заголовними літерами. Підказка: скористатись масивом великих і малих літер української абетки.
Ввести прямокутну матрицю дійсних чисел. Вилучити з матриці рядок, добуток елементів якого найбільший (для вилучення посунути всі наступні рядки вгору на один). Надрукувати скорочену матрицю.
Ввести набір символьних рядків, кожен з яких задає певну дату у формі: День.Місяць.Рік, наприклад: 16.5.13, 7.11.1998, 2.10.05 (відомо, що неповні роки відносяться до поточного століття). Замінити введені дати повними: День Найменування_місяця Рік (рік має бути чотирицифровим) , наприклад 16 травня 2013 р. та надрукувати їх. Підказка: найкраще створити додатковий рядок із повною датою і потім перенести його на місце введеного короткого.
Ввести прямокутну матрицю дійсних чисел. Визначити номери двох стовпчиків введеної матриці, скалярний добуток яких найбільший.
По одному ввести послідовність заданих слів. Визначити серед введених слів два слова, які мають найбільше спільних літер (кожну літеру враховувати тільки один раз).
Використовуючи стандартні бібліотечні функції генерування випадкових чисел, заповнити випадковими цілими числами з діапазону 1..100 матрицю заданої розмірності. Визначити номери рядків сформованої матриці, в яких перший елемент найменший, або вивести повідомлення про відсутність таких рядків.