Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРCТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ICM
Лабораторна робота №8
“ Використання вказівників для роботи з масивами даних. Збереження масивів даних у динамічній пам'яті ”
Мета роботи: Освоїти способи звернення до елементів масивів за допомогою вказівників. Навчитись виділяти та використовувати динамічну пам'ять для розміщення масивів даних.
Хід виконання роботи
Сформувати вектор з усіх простих чисел, що потрапляють у заданий інтервал [а,Ь]. Межі інтервалу ввести з клавіатури. Сформований масив вивести на екран.
#include<conio.h>
#include<stdio.h>
#define n 3000
void main(void)
{ int *p,mas[n],a,b;
int i,j,fl=1,k=0;
printf("\nVvedit diapazon [a;b]\na=");
scanf("%d",&a);
printf("b=");scanf("%d",&b);
p=mas;
for(i=a;i<b+1;i++)
{
for(j=2;j<i;j++)
if(i%j==0){fl=0;break;}
if(fl==1)p[k++]=i;
fl=1;
}
for(i=0;i<k;i++)
printf("mas[%d]=%-3d\t",i,*(p+i));
getch();
}
Ввести квадратну матрицю дійсних чисел. Знайти мінімальний елемент серед елементів, які знаходяться нижче головної діагоналі.
#include <stdio.h>
#include <alloc.h>
#include <conio.h>
void main(void)
{ unsigned n,m,i,j;
int **a,min;
puts("\nVveidt rozmir matryci");
scanf("%u %u",&n,&m);
a=(int**)calloc(n,sizeof(int*));
for(i=0;i<n;i++)
a[i]=(int*)calloc(m,sizeof(int));
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{ printf("mas[%u][%u]=",i,j);
scanf("%d",a[i]+j);
}
min=a[1][0];
for(i=1;i<n;i++)
for(j=0;j<i;j++)
if(min>a[i][j])min=a[i][j];
puts("vhidnyj masyv");
for (i=0;i<n;i++)
{ for(j=0;j<m;j++)
printf("%-4d",a[i][j]);
puts("\n");
}
puts("elementy pid golovnoju diagonalju");
for(i=1;i<n;i++)
{ for(j=0;j<i;j++)
printf("%-4d",a[i][j]);
printf("\n");
}
printf("\nMIN element pid golovnoju diagonalju =%d",min);
getch();
for(i=0;i<n;i++)
free(a[i]);
free(a);
}
Висновок: на даній лабораторній роботі я вивчив способи звернення до елементів масивів за допомогою вказівників. Навчився виділяти та використовувати динамічну пам'ять для розміщення масивів даних.