You are on page 1of 3

ЛАБОРАТОРНА РОБОТА № 21

Покажчики
Мета: набути навичок роботи з покажчиками в одновимірному масиві.

Хід роботи:
Завдання 1. Написати програму з використанням покажчиків.
1) Оголосити покажчик р на комірку пам’яті тип у int;
2) Оголосити змінні х, у і масив m, змінні ініційовані;
3) Покажчику р присвоїти адресу змінної у.
4) Вивести на екран значення змінної у через покажчик;
5) Чому буде дорівнювати х, якщо провести операцію х = *р?
6) Змінити величину параметра у на 7;
7) Чому буде дорівнювати р?
8) Чому буде дорівнювати у, якщо провести операцію *р+=5?
Результат виконання:
Лістинг програми:
#include <stdio.h>
#include <math.h>
#include <windows.h>
#include <locale.h>
#include "cstdlib"
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int mas[5];
int x = 4, y = 5, k;
int* p;
p = &y;
x = *p;
printf("Виведення значення y через покажчик - %d\n\n", *p);
printf("x=*p - %d\n\n", x);
y = y + 7;
printf("Величина y збільшена на 7 = %d\n\n", *p);
*p += 5;
printf("*р+=5 - %d\n\n", y);
system("pause");
return 0;
}

ДУ «Житомирська політехніка».20.122.11.000 – Лр21


Змн. Арк. № докум. Підпис Дата
Розроб. Ковальчук О.П.. Літ. Арк. Аркушів
Перевір. Левківський В.Л. 1 3
Керівник
Звіт з
Н. контр. лабораторної роботи ФІКТ Гр. КН-20-1[1]
Зав. каф.
Рис.1.1 Результат виконання програми.
Завдання 2: Дано масив. Скласти програму де необхідно:
1) Визначити розмір масиву в байтах.
2) Визначити кількість елементів масиву.
3) Вивести на екран адреси першого і останнього елементів масиву.
4) Здійснити переписування масиву у зворотному порядку.
Лістинг програми:
#include <stdio.h>
#include <math.h>
#include <windows.h>
#include <locale.h>
#include "cstdlib"
#include <malloc.h>
#define N 100
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int Mas[15];
int* mas, tmp, k, n = 15;
printf("Масив: ");
for (int i = 0; i < n; i++) {
Mas[i] = rand() % (5 + 5 + 1) - 5;
if (i != n - 1) {
printf("%d,", Mas[i]);
}
else printf("%d.", Mas[i]);
}
printf("\nРозмір масиву в байтах - %d\n", sizeof(Mas));
printf("Кількість елементів масиву - %d\n", sizeof(Mas) / sizeof(int));
printf("Перший елемент масиву - %p\n", Mas[sizeof(Mas) / sizeof(int) - n]);
printf("Останній елемент масиву- %p\n", Mas[sizeof(Mas) / sizeof(int) - 1]);
printf("\n");
k = sizeof(Mas) / sizeof(int);
printf("Масив в зворотному порядку: ");
for (int i = k - 1; i >= 0; i--) {
if (i != 0) {
printf("%d,", Mas[i]);
}
else printf("%d.", Mas[i]);
}
printf("\n\n");
system("pause");
return 0;
}

Ковальчук О.П. Арк.


Левківський В. Л. ДУ «Житомирська політехніка».20.122.11.000 – Лр2
2
Змн. Арк. № докум. Підпис Дата
Рис.2.1 Результат виконання програми.

Висновки: в ході виконання лабораторної роботи було набуто навичок


роботи з покажчиками в одновимірному масиві.

Ковальчук О.П. Арк.


Левківський В. Л. ДУ «Житомирська політехніка».20.122.11.000 – Лр2
2
Змн. Арк. № докум. Підпис Дата

You might also like