Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРCТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ICM
Лабораторна робота №7
“ Робота з масивами даних”
Виконав:
cтудент гр. КН-1
Львів 2007
Мета роботи Вивчити засоби мови Сі для оголошення масивів даних, звернення до їх елементів за допомогою індексів, введення масивів з клавіатури та виведення на екран.
Методичні вказівки:
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();
}
Висновок: на даній лабораторній роботі я вивчив засоби мови Сі для оголошення масивів даних, звернення до їх елементів за допомогою індексів, введення масивів з клавіатури та виведення на екран.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!