Лабораторна робота 4 на тему Масиви та вказівники
« НазадЛабораторна робота №4Масиви та вказівникиМета роботи: Оволодіння навичками використання індексних виразів та вказівників при роботі з багатовимірними масивами та виведення на екран елементів псевдографіки у текстовому режимі. 4.1. Теоретичні відомостіМасив — це набір об'єктів однакового типу, розташованих один за одним у пам'яті комп'ютера. Масив можна описати наступним чином: тип_даних ім'я масиву [розмір_масиву] Кожний масив має им'я. Значення індексу повинні знаходитись у диапазоні від нуля до величини, що на одиницю менше розміру масиву, вказаного під час його опису. Тип_даних задає тип елементів масиву. Розмір_масиву — константа чи константний вираз, що задає кількість елементів масиву. Ім'я масиву є вказівником-константою, що дорівнює адресі початку масива (першого байта першого елемента масива). Доступ до окремих елементів масива може здійснюватись або за допомогою імені масива та індексу (порядковому номеру) або за вказівником (операція *). Іншими словами, наступні посилання будуть повністю еквівалентними: array[i] *(array+i) Кожний раз, коли при виконанні програми у виразі зв'являється ідентифікатор типу масиву, він перетворюється у вказівник на перший елемент масиву. 4.2. ПрикладОбчислити. #include <stdio.h> #include <stdlib.h> #include <alloc.h> main() { int n, m, i, j, bl; float a, b; char *tab; float *el, *y; printf("Введіть число: \n"); scanf("%d", &n); m=8*n; if((tab=(char*)malloc(m))==NULL) printf("Недостатньо пам'яті"); else { el=(float *) tab; for(i=1;i<=n;i++) { printf("Введіть x%d:", i); scanf("%f", &a); *el=a; el++; } for(i=1;i<=n;i++) { printf("Введіть y%d:", i); scanf("%f", &a); *el=a; el++; } a=0; el=(float *) tab; for(i=1;i<=n-2;i++) { a+=(*el)*(*(el+n)); el++; } b=1; for(i=1; i<=n-1;i++) { b*=(*y); y++; } a+=bl; free(tab); printf("Значення функції: %f", a); } } 4.3. Порядок виконання роботи4.3.1. Проаналізувати умову задачі.4.3.2. Розробити алгоритм та створити програму розв’язання задачі згідно з номером варіанту. Задачу розв'язати двома способами: використовуючи доступ до елементів масиву через індексеі вирази та вказівники.4.3.3. Матриці, отримані в результаті виконання лабораторної роботи, вивести на екран послідовно у текстовому режимі.4.3.4. Результати роботи оформити протоколом.4.4. Варіанти завдань1) Дано послідовність чисел . Отримати квадратну матрицю порядку n, елементами якої є числа , розташовані за схемою.
2) Дано послідовність чисел . Отримати квадратну матрицю порядку n, елементами якої є числа , розташовані за схемою.
3) Заповнити матрицю послідовністю чисел, кратних 3 у слідуючому порядку.
4) Дано послідовність чисел . Отримати квадратну матрицю порядку n, елементами якої є числа , розташовані за схемою
5) Дано послідовність чисел . Отримати квадратну матрицю порядку n, елементами якої є числа , розташовані за схемою
6) Дано послідовність чисел . Отримати квадратну матрицю порядку n, елементами якої є числа , розташовані за схемою
7) Дано дійсну квадратну матрицю порядку n. Знайти всі непарні елементи у заштрихованій області.
8) Дано квадратну матрицю порядку n, елементи якої є цілими числами. Знайти всі менші від 100 числа-паліндроми (див. лабораторну роботу № 2) із позначеної області.
9) Дано символьну квадратну матрицю порядку n. Обчислити кількість букв а над головною діагоналлю та кількість букв в під бічною діагоналлю, та замінити у матриці ці букви на символ *. 10) Дано дійсну квадратну матрицю В. Отримати цілочисельну квадратну матрицю А того ж порядку, в котрій елемент =1, якщо відповідний елемент початкової матриці , більший від елемента, розташованого в тому ж самому рядку на головній діагоналі, в іншому випадку =0. 11) Дано натуральне число n та та дійсну квадратну матрицю порядку n. Побудувати послідовність нулів та одиниць, в котрій , тоді і тільки тоді, коли елементи i-го рядка матриці утворюють послідовність, що зростає або спадає. 12) Дано натуральне число n та натуральна квадратна матриця порядку n, кожний елемент котрої не перевищує 9. Побудувати послідовність із нулів та одиниць, в котрій, тоді і тільки тоді, коли елементи i-го стовбчика матриці утворюють паліндром. 13) Дано дійсну квадратну матрицю порядку 2n. Отримати нову матрицю, переставляючи її блоки розміру nxn 14) Дано дійсну квадратну матрицю порядку 2n. Отримати нову матрицю, переставляючи її блоки розміру nxn 15) Дано дійсну квадратну матрицю порядку 2n. Отримати нову матрицю, переставляючи її блоки розміру nxn 16) Побудувати квадратну матрицю порядку n, заповнюючи заштриховану частину матриці натуральним рядом чисел (решта елементів матриці повинні дорівнювати нулю). 17) Отримати квадратну матрицю порядку n . 18) Утворити квадратну матрицю порядку n, заповнюючи заштриховану частину матриці квадратами натурального ряду чисел 19) Сворити квадратну матрицю порядку n . 20) Сворити квадратну матрицю порядку n 21) Сворити квадратну матрицю порядку n . 22) Дано цілочислену квадратну матрицю порядку n. Знайти значення елементів, що розташовані вище головної діагоналі та діляться на 5 без остачі. Вивести індекси відповідних елементів. 23) Дано послідовність чисел . Отримати квадратну матрицю порядку n, елементами якої є числа , розташовані за схемою: 24) Дано дійсну квадратну матрицю порядку n. Знайти найбільше за модулем число із значень елементів, розташованих в познаеній частині матриці. 25) Дано дійсну квадратну матрицю порядку n. Знайти найбіьше із значень елементів, розташованих в позначеній частині матриці. 4.5. Контрольні запитання
З повагою ІЦ "KURSOVIKS"!
|