Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabCi-IPPT_final.doc
Скачиваний:
4
Добавлен:
27.04.2019
Размер:
1.12 Mб
Скачать

Короткі теоретичні відомості

Структура – спеціальний тип даних , який створює користувач для опрацювання інформації про об’єкти деякої предметної області. Така інформація може складатись з даних різних типів. Структура складається з набору полів.

Формат опису структури:

struct < назва структури >

{ < тип поля 1> < назва поля1 >;

< тип поля 2 > < назва поля2 >;

. . . . . . . . . . . . . . . . .

< тип поля N > < назва поляN >;

};

Приклад. Структура, яка містить анкетні дані деякої групи людей

struct grupa

{ char name [20] ;surname [20];

float serbal;

};

Опис структури - це тільки створення шаблону для нового типу даних. Наступним кроком є оголошення змінних і вказівників відповідного типу. Змінні і вказівники можна оголосити так:

struct <назва типу структури > <список змінних і вказівників>;

Приклад. Оголосимо змінні gr1, gr2 та вказівник p для структури grupa з попереднього прикладу:

struct grupa gr1, gr2, *p;

Змінні та вказівники можна оголошувати безпосередньо при оголошенні структури. Приклад.

struct grupa

{ char name [20] ;surname [20];

float serbal;

} gr1, gr2, *p;

Після оголошення вказівник необхідно ініціалізувати: p = & gr1.

Доступ до конкретного поля змінної типу структура дає складене ім’я

<назва змінної > . <назва поля>

Приклад. gr 1.name = “Dmytro”;

Доступ до полів структури за допомогою вказівника на структуру здійснюється інакше ніж до полів змінної, а саме :

< вказівник > <назва поля >;

Приклад. p->name = “Dmytro”;

Масив змінних типу структура оголошують так :

struct <назва типу структура> <назва масиву >[кількість елементів];

Приклад. struct grupa grKI[25], grKN[15];

Доступ до полів в окремих елементах масиву здійснюється таким чином:

<назва елемента > [індекс]. <назва поля >

Приклад. grKI[5].surname=”Gamula”

Приклад виконання лабораторної роботи

Постановка задачі. Написати програму, яка вводить масив записів про країни Європи (назва, столиця, кількість населення, площа, кількість міст). Програма повинна знайти і вивести на екран дані про країни у порядку зростання кількості населення.

Граф-схема алгоритму програми

Блок 1 – початок алгоритму

Блок 2 – введення даних.

Блоки 3-8 – сортування масиву структур по зростанню кількості населення

Блок 9 - виведення даних

Блок 10 – закінчення алгоритму.

Код програми мовою с

#include <stdio.h>

#include <stdlib.h>

#include<string.h>

int main(int argc, char *argv[])

{

int i,j;

struct dani

{

char nazva[20];

char stol[20];

int nasel;

int plos;

int mist; infor[3],a;

for(i=0;i<3;i++)

{

puts("Vvedit nazvy krajinu");

scanf("%s",&infor[i].nazva);

puts("Vvedit nazvy stoluci");

scanf("%s",&infor[i].stol);

puts("Vvedit kilkist naselennya");

scanf("%d",&infor[i].nasel);

puts("Vvedit ploschy");

scanf("%d",&infor[i].plos);

puts("Vvedit kilkist mist");

scanf("%s",&infor[i].mist);

}

for(j=0;j<3;j++)

for(i=0;i<3;i++)

{

if(infor[i].nasel>infor[i+1].nasel)

{

a=infor[i];

infor[i]=infor[i+1];

infor[i+1]=a;

}

}

puts("Vuvid sortonanogo spusky");

for(i=0;i<3;i++)

printf("%s\n %s\n %d\n %d\n %d\n ", infor[i].nazva, infor[i].stol, infor[i].nasel, infor[i].plos, infor[i].mist);

system("PAUSE");

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]