Частина тексту файла (без зображень, графіків і формул):
Міністерство науки і освіти України
Національний університет “Львівська Політехніка”
Інститут комп’ютерних наук та інформаційних технологій
Кафедра ПЗ
Звіт
З лабораторної роботи № 6
з курсу «Основи програмування та алгоритмічні мови»
Тема: Організація роботи з масивами даних у мові С.
Мета: Навчитися організовувати в пам’яті ЕОМ такі структури даних як масиви та освоїти
основні методи програмування алгоритмів обробки масивів даних засобами мови С.
Завдання: Написати програму для обробки даних, організованих у масив, згідно завдання наведеного варіанту. У програмі використати такі форми звертання до елементів масиву:
( на основі індексів,
( через розадресоване ім’я масиву і зміщення елемента,
( за допомогою допоміжних вказівників.
З клавіатури ввести два вектори цілих чисел. Утворити новий вектор із спільних елементів двох введених. У новому векторі не має бути повторень елементів. Надрукувати сформований вектор або вивести повідомлення про відсутність спільних елементів.
Блок-схема алгоритму
Текст програми
#include<stdio.h>
#include<conio.h>
void main(void)
{
int r1, r2, i, j, k, k2 = 0, vec1[255], vec2[255], vec3[255], *p_vec3, *p_vec3_help;
char is;
clrscr();
p_vec3 = &vec3[0];
for (i = 0; i < 255; i++) //Onuluem vsi znachenna vektora 3
*(p_vec3 + i) = 0;
printf("Vvedit rozmiry vektoryv\n"); //Vvodymo rozmiry vektoriv 1 i 2
scanf("%d%d", &r1, &r2);
printf("Vvedit pershyy vektor\n"); //Vvodymo vektor 1
for (i = 0; i < r1; i++)
scanf("%d", &vec1[i]);
printf("Vvedit drugyy vektor\n"); //Vvodymo vektor 2
for (i = 0; i < r2; i++)
scanf("%d", &vec2[i]);
for (i = 0; i < r1; i++) //Algorytm perevirky vektora 1
{ //i vektora 2 na spilni
for (j = 0; j < r2; j++) //elementy
{
if (vec1[i] == vec2[j])
{ is = 0;
for (k = 0; k < k2; k++)
{
if (vec1[i] == vec3[k])
{
is = 1;
break;
}
}
if (is == 0)
vec3[k2++] = vec1[i]; //Sapysuem u vektor 3
} //spilnyy element
}
}
p_vec3_help = p_vec3;
if (k2 > 0)
for (k = 0; k < k2; k++) //Vyvodym vsi znachenna
printf("%d\t", *(p_vec3_help + k)); //vektora 3
else
printf("Spilni elementy vidsutni");
}
Протокол роботи програми
Vvedit rozmiry vektoryv
0
0
Vvedit pershyy vektor
Vvedit drugyy vektor
Spilni elementy vidsutni
Vvedit rozmiry vektoryv
5
5
Vvedit pershyy vektor
1 1 0 3 2
Vvedit drugyy vektor
4 1 0 2 2
1 0 2
Vvedit rozmiry vektoryv
3
5
Vvedit pershyy vektor
1 2 3
Vvedit drugyy vektor
0 0 3 2 2
2 3
Vvedit rozmiry vektoryv
3
3
Vvedit pershyy vektor
1 2 3
Vvedit drugyy vektor
4 5 6
Spilni elementy vidsutni
Висновок
Я навчився організовувати в пам’яті ЕОМ такі структури даних як масиви та освоїв основні методи програмування алгоритмів обробки масивів даних засобами мови С.