Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРCТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ICM
Лабораторна робота №7
“ Робота з масивами даних”
Мета роботи Вивчити засоби мови Сі для оголошення масивів даних, звернення до їх елементів за допомогою індексів, введення масивів з клавіатури та виведення на екран.
Методичні вказівки:
1) Кожне завдання складається із двох варіантів, розміщених у частинах 1 та 2.
Максимальну кількість елементів масиву оголосити за допомогою макро-константи, визначеної директивою #define. Реальну (не більшу відоголошеної) кількість елементів масиву можна задавати введеним зклавіатури значенням змінної. Верхню межу індексів масиву у циклахзадавати за допомогою макроконстант або ідентифікаторів змінних.
Для звернення до елементів масивів використати індекси;
Введення вхідних даних та виведення результатів супроводжувативідповідними до умови задачі текстовими повідомленнями.
Після введення вхідних даних виконувати ехо-виведення їх значень наекран.
Виведення двовимірних масивів здійснювати у формі прямокутнихматриць.
Хід виконання роботи
Ввести два впорядковані за зростанням значень масиви дійсних чисел. Виконати злиття цих масивів в один впорядкований масив (без застосування алгоритму сортування).
#include <stdio.h>
#include <conio.h>
#define n 3
#define m 4
void main()
{ int k,i,j;
int mas[m+n],mas1[n],mas2[m];
puts("Vvedit dva vporjadkovani masyvy");
//vvid persogo mas
for(i=0;i<n;++i)
{ printf("mas1[%d]=",i);
scanf("%d",&mas1[i]);
}
puts("\n");
//vvid drugog mas
for(i=0;i<m;++i)
{ printf("mas2[%d]=",i);
scanf("%d",&mas2[i]);
}
puts("\n");
//stvorennja novogo vporadkovanogo mas
i=0;j=0;
for(k=0;k<n+m;++k)
if(mas1[i]<mas2[j])
{
mas[k]=mas1[i];if (i==n)
{ for(j=j;j<m;j++){mas[k++]=mas2[j];}
break;
}
i++;
}
else
{
mas[k]=mas2[j];if (j==m)
{ for(i=i;i<n;i++){mas[k++]=mas1[i];}
break;
}
j++;
}
//vyvid novogo mas
for(k=0;k<n+m;k++)
printf("mas[%d]=%d ",k,mas[k]);
puts("\n");
getch();
}
Ввести квадратну матрицю дійсних чисел. Якщо сума елементів головної діагоналі більша від суми елементів бокової діагоналі, то виконати траспонування матриці - заміну рядків на відповідні стовпчики.
#include <stdio.h>
#include <conio.h>
#define n 4
void main()
{ int k,i,j,sum_gol=0,sum_pob=0;
int mas[n][n];
printf("Vvedit matrycu[%dx%d]\n",n,n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&mas[i][j]);
for(i=0;i<n;i++)
{
sum_gol+=mas[i][i];
sum_pob+=mas[i][n-i-1];
}
printf("sum_gol=%d sum_pob=%d\n",sum_gol,sum_pob);
for (i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf("%-4d",mas[i][j]);
puts("\n");
}
puts("\n novyj mas");
if(sum_gol>sum_pob)
for(i=1;i<n;i++)
for(j=0;j<i;j++)
{ k=mas[i][j]; mas[i][j]=mas[j][i]; mas[j][i]=k;}
for (i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf("%-4d",mas[i][j]);
puts("\n");
}
getch();
}
Висновок: на даній лабораторній роботі я вивчив засоби мови Сі для оголошення масивів даних, звернення до їх елементів за допомогою індексів, введення масивів з клавіатури та виведення на екран.