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

КПиЯП ч1 контрольная работа №1 вар 1

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

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

Работа со структурами

Вариант 1

Задание:

1. Дана ведомость абитуриентов. В каждой строке записана фамилия абитуриента, его постоянное место жительства, средний балл аттестата.

Распечатать в алфавитном порядке список абитуриентов, проживающих в Минске и определить их количество.

Код программы:

#include <stdio.h>

#include <string.h>

void main()

{

//Переменные, используемые в функции main

int i, j, n, imin;

char *min, c, *a, *b, *s, *d, *city;

struct Stud

{

char name [30];

char place [30];

float ball;

}mas[100], mas1[100], mas2[100]; //Структура в которую объединены данные студентов

//Вводим количество студентов в списке

printf("Vvedite kolichestvo studentov");

scanf("%c", &n);

//Начинаем заполнять массив данными студентов

for (i=n-1; i>=0; i--)

{

//Вводим для каждого студента фамилию, город и средни балл

printf("Familia");

scanf("%s", &a);

strcpy (mas[i].name, a);

printf("Gorod");

scanf("%s", &b);

strcpy (mas[i].place, b);

printf("Sredniy ball");

scanf("%s", &mas[i].ball);

}

//Определяем студентов которые проживают в Минске

for (i=n-1; i>=0; i--)

{

strcpy (s, mas[i].place);

city = "Минск";

if (strcmp(s, city) == 0)

{

mas1[i]=mas[i]; //Присваеваем элементу второго массива структур элемент первого массива с информацией о студенте проживающем в Минске

}

}

//Производим расстановку записей о студентах, которые проживают в Минске, в алфавитном порядке

for (i=0; i < n-1; i++)

{

imin = i; //Принимаем за наименьший первый из рассматриваемых элементов

// Поиск номера минимального элемента из неупорядоченных

for (j = i + 1; j < n; j++)

{

strcpy (d, mas1[j].name);

d = d[0];

if (strcmp(d, min) < 0)

{

min=mas1[j].name[0]; //Если условие выполняется присваиваем

imin = j;

}

}

// обмен элементов массива структур:

mas2[i] = mas1[i];

mas1[i] = mas1[imin];

mas1[imin] = mas2[i];

}

}