Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

контрольная

.doc
Скачиваний:
6
Добавлен:
01.04.2014
Размер:
39.42 Кб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

“Белорусский государственный университет информатики и радиоэлектроники”

Кафедра ПОИТ

Факультет непрерывного и дистанционного обучения

Контрольная работа №1

по дисциплине

«Конструирование программ и языки программирования»

Выполнила

студентка группы Шашкова Е.В.

801021с-18

Руководитель Шостак Е.В.

Минск 2010

Тема работы. СТУКТУРЫ

Задача:

Информация об участниках спортивных соревнований содержит:

  • фамилию игрока;

  • название команды;

  • рост игрока.

Вывести название и средний рост самой рослой команды.

Решение

#include <stdio.h>

#include <string.h>

#include <iostream.h>

#include<conio.h>

#include<stdlib.h>

#include <math.h>

struct sorev//объявление структуры "Соревнование" и её элементов

{

char team_name[20];

struct igrok//объявление вложенной структуры "Игрок" и её элементы

{

char familiya[20];

int rost;

}igrok[3];

}team[3];

void main()

{

int i,max,imax,j,sred,max1;

printf("Vvedite dannie o sorevnovanijah:\n\n");

for (i=1;i<=2;i++)// цикл ввода данных для структуры "Соревнование"

{

printf("Vvedite nazvanie komandi %d:\n",i);

scanf("%s",&team[i].team_name);

for (j=1;j<=3;j++)// цикл ввода данных для структуры "Игрок"

{

printf("Vvedite familiu igroka %d:\n",j);

scanf("%s",&team[i].igrok[j].familiya);

printf("Vvedite rost igroka %d:\n",j);

scanf("%d",&team[i].igrok[j].rost);

}

}

max=team[1].igrok[1].rost;//присваивание игроку 1 роста 1 команды максимального значения

for (i=1;i<=2;i++)

{

for (j=1;j<=3;j++)//цикл поиска самого высокого игрока в командах

{

if (max<team[i].igrok[j].rost)

{

max=team[i].igrok[j].rost;

imax=i;

}

else

imax=i;

}

}

if (team[imax].igrok[1].rost > team[imax].igrok[2].rost)//условие поиска игрока среднего роста в самой высокой команде

{

if (team[imax].igrok[1].rost > team[imax].igrok[3].rost)

{

max1=team[imax].igrok[1].rost;

if (team[imax].igrok[2].rost > team[imax].igrok[3].rost)

sred = team[imax].igrok[2].rost;

else

sred = team[imax].igrok[3].rost;

}

else

sred = team[imax].igrok[1].rost;

}

else

{

if (team[imax].igrok[2].rost > team[imax].igrok[3].rost)

{

max1=team[imax].igrok[2].rost;

if (team[imax].igrok[1].rost > team[imax].igrok[3].rost)

sred=team[imax].igrok[1].rost;

else

sred=team[imax].igrok[3].rost;

}

else

sred=team[imax].igrok[2].rost;

}

//вывод полученных данных на экран

printf("Samaya roslaja komanda: = %s\n",team[imax].team_name);

printf("Sredni rost v etoj komande: = %d\n",sred);

printf("Maksimalnyj rostv etoj komande: = %d\n",max);

}