Використання вказівників для роботи з масивами даних.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра інформаційних систем та мереж

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Інші
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра інформаційних систем та мереж Лабораторна робота №7 на тему: Використання вказівників для роботи з масивами даних. Збереження масивів даних у динамічній пам’яті. Львів-2008р. Назва роботи: Використання вказівників для роботи з масивами даних. Збереження масивів даних у динамічній пам’яті. Мета роботи: Освоїти способи звернення до елементів масивів за допомогою вказівників. Навчитись виділяти та використовувати динамічну пам’ять для розміщення масивів даних. Завдання лабораторної роботи: У завданнях першої частини необхідно: Визначити кількість елементів масиву за допомогою макроконстанти директиви #define; Для введення, опрацювання та виведення елементів масивів використати попередньо оголошені вказівники; Введення вхідних даних та виведення результатів супроводжувати відповідними до умови задачі текстовими повідомленнями; Після введення вхідних даних виконувати ехо-виведення їх значень на екран. У завданнях другої частини необхідно: Кількість елементів масиву ввести з клавіатури, після чого виділити необхідний об’єм динамічної пам’яті для розміщення масиву (див. табл. 14); Занести у динамічну пам’ять введені з клавіатури дані; для звернення до елементів масиву перевагу надати використанню вказівників замість індексів; Перед виходом з програми звільнити зайняту динамічну пам’ять. Блок-схема: Програма 1  Програма 2  Текст програми: Програма 1 #include <stdio.h> #include <conio.h> #include <alloc.h> #define N 30 void sw(unsigned n); void main() { unsigned n; textcolor(BLACK); textbackground(WHITE); clrscr(); printf("Введiть число у десятковiй системi числення\n"); scanf("%u",&n); //printf("%u\n\n",n); sw(n); } void sw(unsigned n) { unsigned *a; int d=0,i; a=(unsigned *)malloc(N*sizeof(unsigned)); //printf("%u\n\n",n); while (n>0) { *(a+d)=n%16; n/=16; d++; } printf("\nЧисло у шiстнадцятковiй системi числення:\n"); for (i=d-1;i>-1;i--) printf("%X",*(a+i)); getch(); free(a); }   Програма 2 #include <stdio.h> #include <conio.h> #include <alloc.h> #define N 30 int ZV(int n, int m, int **a); int main() { int **c; int k,n,m,i,j; textbackground(WHITE); textcolor(BLACK); clrscr(); c=(int **) malloc(N*N*sizeof(int)); printf("Введiть розмiр прямокутної матрицi:\n"); printf("n="); scanf("%d",&n); printf("m="); scanf("%d",&m); puts("\nВведiть елементи матрицi:"); for (i=0;i<n;i++) for (j=0;j<m;j++) { printf("a[%d,%d]=",i+1,j+1); scanf("%d",&*(*(c+i)+j)); } k=ZV(n,m,c); printf("Кiлькiсть рiзних елементiв прямокутної матрицi=%d",k); getch(); free(c); } int ZV(int n, int m, int **a) #define true 1 #define false 0 { int y,x,i,j,K=0,z; int *b[N][N]; puts(" "); for (i=0; i<n;i++) for (j=0; j<m;j++) {z=true; for (x=0; x<n;x++) for (y=0; y<m;y++) if ((i!=x||j!=y)&&(x<=i)&&(i>x||j>y)) { if ((*(*(a+i)+j))==(*(*(a+x)+y))) z=false; //printf("K=%d ij[%d,%d] xy[%d,%d] \n",K,i,j,x,y); } if (z==true) K++; } return K; }   Результати виконання програми: Програма 1  Програма 2  Висновки: Я освоїв способи звернення до елементів масивів за допомогою вказівників. Навчився виділяти та використовувати динамічну пам’ять для розміщення масивів даних.
Антиботан аватар за замовчуванням

11.12.2012 20:12-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!