Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра інформаційних
систем та мереж
Лабораторна робота №11
на тему:
Динамічні структури даних.
Львів-2008р.
Назва роботи:
Динамічні структури даних.
Мета роботи:
Вивчити способи створення динамічних структур даних (списків, стеків, дерев, ...) та виконання операцій над ними.
Завдання лабораторної роботи:
Згідно з індивідуальним завданням розробити необхідні структури даних.
Сформувати структури даних у динамічній пам’яті та проініціалізувати їх введеними з клавіатури значеннями (див. табл. 14). При відсутності в умові завдання наперед заданої кількості елементів спискових структур в якості ознаки завершення їх формування вибрати імітацію кінця файла введення з клавіатури (натискування клавіш Ctrl/Z), або ввести деяке обумовлене число чи символ.
Виконати над елементами списку операції перетворення (формування, включення, виключення, пошук, виведення елементів), необхідні для розв’язування задачі. Операції над списком оформити у вигляді окремих функцій.
Перед завершенням роботи програми звільнити виділену для списку динамічну пам’ять.
Текст програми:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
typedef struct stack1
{
char c1[5];
stack1 *dali;
};
typedef struct stack2
{
char c2;
stack2 *dali;
};
void main()
{stack1 *st1,*el1; stack2 *st2,*el2; char d[15],d2[15],*p,b; int i;
clrscr();
gets(d); strcpy(d2,d);
//-------------------
p=strtok(d,"+-/*()=");
st1=NULL; st2=NULL; //puts(p);
el1=(stack1*)calloc(1,sizeof(stack1));
el1->dali=st1;
st1=el1;
strcpy(el1->c1,p);
while(p!=NULL)
{p=strtok(NULL,"+-/*()=");
el1=(stack1*)calloc(1,sizeof(stack1));
el1->dali=st1;
st1=el1;
strcpy(el1->c1,p);
}
//-------------------
for(i=0; i<strlen(d2)+1;i++)
if(strchr("+-/*()=",d2[i])!=NULL)
{
b=d2[i];
el2=(stack2*)calloc(1,sizeof(stack2));
el2->dali=st2;
st2=el2;
el2->c2=b;
}
//=========================
puts("\nCтек 1:");
do
{
st1=el1->dali; el1=st1;
printf("%s ",st1->c1);
} while(st1->dali!=NULL);
int j=0;
puts("\n\nCтек 2:");
do
{
st2=el2->dali; el2=st2;
printf("%c ",st2->c2);
} while(st2->dali!=NULL);
getch();
}
Результати виконання програми:
Висновки:
Я вивчив способи створення динамічних структур даних (списків, стеків, дерев, ...) та виконання операцій над ними.
Блок-схеми:
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!