Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ
«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
Факультет електроніки
Кафедра звукотехніки та реєстрації інформації
Лабораторна робота №6
з курсу “Інформатика. ПК та основи програмування”
з теми: ” Робота з багатовимірними масивами “
Варіант 6
1.Завдання
Тема: Робота з багатовимірними масивами.
Мета: Оволодіти практичними навиками роботи із масивами, особливостями їх вводу і виводу, отримання подальших навиків по організації програм циклічної структури із використанням прийомів програмування.
Завдання:
1.Обробити матрицю у відповідності з варіантом, вказаного у таблиці. Вивести на друк результати і вихідну матрицю у загальноприйнятому вигляді.
2.
D(10;10)
Записати на місце від’ємних елементів матриці нулі, а на місце додатних – одиниці. Вивести на друк нижню трикутну матрицю у загальноприйнятому вигляді.
2.Теоретичні відомості
Матриці та масиви – одні з найбільш відомих структур даних. Під матрицею в мові С розуміють набір даних одного і того ж типу, зібраних під одним ім'ям. Кожний елемент матриці визначається ім'ям матриці і двома та більше порядковими номером елемента, які називається індексом. Індекс в мові С завжди ціле число.
Основна форма оголошення матриці розмірності N така:
тип <ім'я масиву>[розмір 1][розмір 2]...[розмір N]
Тип – базовий тип елементів матриці, розмір – кількість елементів матриці. Розмір матриці в мові С може задаватися константою або константним виразом. Не можна задати матрицю змінного розміру. Для цього існує окремий механізм, званий динамічним виділенням пам'яті.
У мові С індекс завжди починається з нуля. Коли ми говоримо про перший елемент матриці, то маємо на увазі елемент з індексом 0. Якщо ми оголосили матрицю
int a[100][10] ;
це означає, що масив містить 100x10 елементів.
У мові С під матрицю завжди виділяється безперервне місце в оперативній пам'яті.
У мові С не перевіряється вихід індексу за межі матриці. Якщо матриця а[100][10] описана як цілочисельна матриця, що має 100х10 елементів, а в програмі вкажеуть а[200][5], то повідомлення про помилку не буде видане, а як значення елемента а[200][5] буде видано деяке число, що займає відповідні 2 байти.
Приклад виконання роботи
Як приклад виконання операцій над матрицями розробимо алгоритм для виведення на екран таблички множення розмірами 10х10. Блок-схема такого алгоритму матиме наступний вигляд:
Код програми:
#include <stdio.h>
#include <conio.h>
int main()
{
clrscr();
int A[10][10], i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
A[i][j] = (i + 1) * (j + 1);
printf("%4d", A[i][j]);
}
printf("\n");
}
return 0;
}
3.Блок-схема алгоритму
/
4.Лістинг програми
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define n 10
int main()
{
int D[n][n];
int i,j;
srand(time(NULL));
printf("Nachalnaya matrinca:\n");
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
D[i][j] = rand()%100 - 50;
printf("%5d",D[i][j]);
}
printf("\n");
}
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (D[i][j] <= 0) D[i][j] = 0;
else D[i][j] = 1;
printf("\nKonechnaya matrica:\n");
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
if (i >= j) printf("%5d",D[i][j]);
printf("\n");
}
system("PAUSE");
return 0;
}
5.Результати роботи та їх аналіз
Після запуску програми отримано результат відображений на Рисунку 5.1
/
Рисунок 5.1 - Результати роботи програми