ЯП С
.docxБЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет НиДО
Специальность ПОИТ
Контрольная работа 1
по дисциплине «Языки программирования ч1»
Вариант № 12
Выполнил студент:
группа
Зачетная книжка
Минск 2013
Задание
12. Для получения места в общежитии формируется список студентов, который включает:
фамилию;
номер группы;
доход на одного члена семьи.
Вывести список студентов в порядке уменьшения дохода на одного члена семьи.
Программа
//---------------------------------------------------------------------------
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------
struct spisok // Объявление структуры
{
int n;
char name[15];
int cost;
} s1 = {12, "ivanov", 500},
s2 = {12, "petrov", 600},
s3 = {11, "davidov", 700},
s4 = {12, "sidorov", 550},
s5 = {11, "assonov", 870};
struct spisok mass[5]; // Объявление массива структур
#pragma argsused
int print(spisok sp) // Функция вывода списка на экран
{
int i;
printf("\n");
printf ("Nomer gruppi %d ", sp.n );
printf("familia ");
for(i=0 ;i<15 ; i++)
{
printf ("%c", sp.name[i] );
}
printf ("doxod %d ", sp.cost );
return 0;
}
int main(int argc, char* argv[])
{
int i,k;
spisok temp;
mass[0] = s1;
mass[1] = s2;
mass[2] = s3;
mass[3] = s4;
mass[4] = s5;
printf("spisok studentov \n");
for(i = 0;i<5;i++) //вывод изначального массива списков
{
printf(mass[i]);
}
printf("\n");
printf("sortirovka\n");
for(i = 0;i<5;i++) //Сортировка
{ for(k = 0;k<4;k++)
{
if (mass[k].cost<mass[k+1].cost)
{
temp = mass[k];
mass[k]=mass[k+1];
mass[k+1] = temp;
}
}
}
for(i = 0;i<5;i++) //Вывод отсортированного массива списков
{
print(mass[i]);
}
getch();
return 0;
}
//---------------------------------------------------------------------------