Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C_LABS(1.11.2009).DOC
Скачиваний:
2
Добавлен:
03.12.2018
Размер:
432.13 Кб
Скачать

Лабораторна робота №4. Робота з двовимірними масивами

Мета роботи: скласти програми для роботи з двовимірними масивами.

Хід виконання роботи:

1. Скласти алгоритм для кожної задачі обробки двовимірних масивів.

2. Написати програму обробки матриць (двовимірних масивів) дійсних чисел А та Б.

3. Налагодити програму (елементи масивів задавати шляхом ініціалізації).

4. Провести тестування програми та результати порівняти з обчисленими вручну.

5. Підготувати звіт.

Матриця А є квадратною, Б – прямокутною. Матриці задаються у вигляді динамічних масивів. Користувач задає розміри матриць (na – розміри масиву А; nb, mb – розміри масиву Б); в програмі виконується виділення пам’яті та обробка масивів розміром na×na та nb×mb.

В програмі необхідно реалізувати меню вибору задачі та пункт виходу. Кожен пункт обробки масивів оформити у вигляді окремих функцій, параметрами яких є відповідні матриці та їх розміри; сортування рядка матриці оформити у вигляді функції, що має два параметра: одновимірний масив (рядок матриці) та кількість елементів в масиві (рядку). Результат виконання функції знаходження максимального та мінімального елементів матриці А – значення елементів, інші функції не повертають значень. Перед початком обробки вивести на екран матрицю, що обробляється. Перед завершенням програми очистити виділену під масиви пам’ять.

Вхідні дані: константи na, nb та mb; елементи матриць (вводяться з клавіатури або задаються ініціалізацією – передбачити обидва варіанта за вибором користувача). Для перевірки та налагодження програми передбачити формування елементів масиву за простим формулам (наприклад, Аi,j=i+j).

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

Завдання на обробку масивів:

1. Знайти максимальний елемент матриці А і його координати (нумерація елементів починається з нуля) та мінімальний з елементів, що знаходяться нижче головної діагоналі (див. приклад).

2. Транспонувати матрицю Б.

3. Знайти матричний добуток А×Б.

4. Відсортувати за зростанням елементи заданого з клавіатури рядка масиву А (індексація починається з нуля).

5. Вивести на екран суму елементів рядків матриці А та стовпців матриці Б.

Зміст звіту:

1. Мета роботи.

2. Алгоритм кожної задачі.

3. Введені з клавіатури значення та результати кожного пункту обробки масивів.

Для формування верхньої трикутної матриці (елементів матриці, що лежать вище головної діагоналі) можна використати, наприклад, такий фрагмент програми:

....

int i, j; /* лічильники рядків та стовбців */

float x[10][10]; /* матриця у вигляді статичного масиву */

....

for (i=0; i<10; i++)

{

for (j=i; j<10; j++) /* саме ця початкова умова задає „трикутність” */

{

x[i][j]=i+j; /* формування елементів матриці за формулою */

}

}

....

Лабораторна робота №5. Робота із зовнішніми носіями інформації.

Мета роботи: отримати навички роботи з текстовими та двійковими (бінарними) файлами в мові С, форматним та неформатним вводом-виводом.

Хід виконання роботи:

1. Ознайомитись з функціями форматного та неформатного виводу, відмінностями між текстовими та бінарними файлами.

2. Створити в будь-якому текстовому редакторі (наприклад, в редакторі "Блокнот") та зберегти під назвою input.dat текстовий файл, записавши в нього в окремих рядках:

а) назву групи та номер бригади;

б) початкове значення аргумента;

в) кінцеве значення аргумента;

г) кількість точок, в яких обчислюється значення функції;

д) крок аргумента.

3. Вивести кількість точок таблиці та таблицю функції (див. лабораторну роботу №1) в двійковий та текстовий файли з назвами result.bin і result.txt відповідно, причому в першому випадку здійснити неформатний вивід (використовуючи, наприклад, функцію fwrite()), а в другому – форматний (наприклад, за допомогою функції fprintf()).

4. Прочитати дані з бінарного файла result.bin та вивести таблицю на екран.

5. Порівняти розміри файлів result.bin, result.txt та можливість продивитись їх зміст в текстовому редакторі. Зробити висновки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]