You are on page 1of 6

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"

Інститут ІКНІ
Кафедра ПЗ

ЗВІТ

До лабораторної роботи № 3
На тему: “ Робота з масивами в С”

З дисципліни: “Основи програмування”

Лектор:
ст.викл. каф. ПЗ
Муха Т.О.

Виконав:
ст. гр. ПЗ-15
Кочан А.А.

Прийняла:
асист. каф. ПЗ
Заводовська Н.О.

« 11 » жовтня 2021 р.

∑= ____ .

Львів – 2021
Мета роботи: навчитися організовувати такі структури даних як масиви та освоїти
основні методи програмування алгоритмів обробки масивів даних засобами мови С.

Індивідуальне завдання №1
Написати програму для обробки даних, організованих у масив, згідно завдання наведеного
варіанту. У програмі використати такі форми звертання до елементів масиву:
1. На основі індексів
2. Через розадресоване ім'я масиву і зміщення елемента.
16. Ввести вектор дійсних чисел. Всі від’ємні елементи збільшити на величину середнього
арифметичного елементів вектора, а додатні зменшити на цю величину. Мінімальний та
максимальний елемент вектора не змінювати.
Індивідуальне завдання №2
Написати програму для обробки даних, організованих у масив, згідно завдання наведеного
варіанту. У програмах використати різні форми звертання до елементів багатовимірних
масивів, у тому числі за допомогою конструкцій “вказівник на масив” і “вказівник на
вказівник”. Враховувати, що кожен рядок матриці можна опрацьовувати як окремий елемент..
16. Задано квадратну матрицю A[7][7]. Перевірити чи матриця А симетрична відносно побічної
діагоналі.

Теоритичні відомості
Масив являє собою сукупність однотипних змінних, розміщених у
послідовнопронумерованих суміжних комірках пам'яті. Номер елемента масиву задається
індексом.Індексація елементів масиву в С починається з 0. Якщо у масиві N елементів, то
першийелемент матиме індекс 0, а останній – індекс (N–1).

Одновимірні масиви оголошуються таким чином:

тип ім’я_масиву[розмір]

Масиви тісно пов’язані із вказівниками. Ім’я масиву є вказівником на його перший


елемент.
Тому ім'я масиву можна використати в якості бази для зміщення вказівника. Наприклад, вираз

numbs[4] = 1

еквівалентний виразу

*(numbs+4) = 1;

Найпоширеніший варіант багатовимірного масиву – двовимірний масив, який можна


представити у вигляді масиву одновимірних масивів:

тип ім’я_масиву [розмір1][розмір2]

Двовимірний масив, як і будь-який інший, зберігається в послідовних комірках


пам'яті, а тому його можна представити як одномірний, пам’ятаючи, що ім'я масиву – це
вказівник на його перший елемент. Нехай двовимірний масив mas має розмірність n*m.
Тоді елемент
mas[i][j] можна представити як *(*mas+n*i+j). З іншого боку, вираз mas[i] є вказівником на
перший елемент і-ого рядка, а тому *[mas[i]+j] – це j-ий елемент і-ого рядка.
1. Алгоритм коду програми №1

Рис 1. Блок-схема до завдання 1


Код програми №1
#include <stdio.h>
#define SIZE 100

int main()
{
float sum = 0, sa, min, max;
int s;
float vector[SIZE];

printf("Type size of vector:");


scanf_s("%d", &s);

printf("Type element of vector:");


for (int i = 0; i < s; i++) {

scanf_s("%f", vector+i);
}

min = vector[0];
max = vector[0];

int n = 0;
while (n < s){
sum += vector[n];
if (vector[n] < min)
min = vector[n];
if (vector[n] > max)
max = vector[n];
n++;
}

sa = sum / s;
n = 0;

printf("Medium=%f\n", sa);

while (n < s)
{
if ((vector[n] == max) || (vector[n] == min))
{

}
else
{
if (vector[n] < 0)
vector[n] += sa;
if (vector[n] > 0)
vector[n] -= sa;
}
printf("%i. | %5.3f \n", n, vector[n]);

n++;
}
return 0;
}
Протокол роботи №1

Рис 2. Виведення результату


Алгоритм коду програми №2

Рисунок 4. Блок-схема до завдання №2


Код програми №2
#include<stdio.h>
#define SIZE 7

int main()
{
int c, d, matrix[SIZE][SIZE] = { 0 };

printf("Enter elements of the matrix\n");

for (c = 0; c < SIZE * SIZE; c++) {


scanf_s("%d", *matrix + c);
}

for (c = 0; c < SIZE; c++) {


for (d = 0; d < SIZE; d++)
if (matrix[d][c] != matrix[c][d]) {
printf("Matryx isn`t symmetric"); return 0;
}

printf("Matryx is symmetric");

return 0;
}
Протокол роботи №2

Рисунок 5. Результат роботи Рисунок 6. Результат роботи


програми програми

На рисунку 5 зображено виконання програми, коли введена матриця симетрична, а на рисунку 6,


коли матриця не симетрична.
Висновки
На лабораторній роботі було розроблено два алгоритми і дві програми:

1. Програма для обробки даних введених в масив.


2. Програма для обробки даних введених в багатовимірний масив.

You might also like