Вопрос задан 05.05.2019 в 02:34. Предмет Информатика. Спрашивает Газизова Аделя.

Помогите пожалуйста! Продолжить эту программу и сделать так, чтобы все занесенные сотрудники

отображались в алфавитном порядке: #include #include main() { const int N=4; int i; int srednya; struct rabochii { char fam[15]; char imya[15]; char otch[20]; char data[11]; int zarp; int dom[5]; int kv[5]; }; rabochii rb[N]; for (i=0; i { printf("\n %d-i rabochii", i); printf("\n familia:"); scanf( "%s", &rb[i].fam); printf("\n imya:"); scanf( "%s", &rb[i].imya); printf("\n otchestvo:"); scanf( "%s", &rb[i].otch); printf("\n Data rojdeniya:"); scanf( "%s", &rb[i].data); printf("\n Zarplata:"); scanf( "%d", &rb[i].zarp); printf("\n Projivaet v dome:"); scanf( "%d", &rb[i].dom); printf("\n V kvartire:"); scanf("%d", &rb[i].kv); }
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Стромов Алексей.
Добавил сортировку по фамилии и немного подредактировал синтаксис. Работу не проверял, если вдруг будет сортировать в обратную сторону, поменяйте знак.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Чтобы отсортировать сотрудников по фамилии в алфавитном порядке, можно использовать функцию `qsort` из стандартной библиотеки `stdlib.h`. Необходимо добавить функцию сравнения, которая будет сравнивать фамилии двух сотрудников.

Вот как можно модифицировать программу:

```c #include #include #include

struct rabochii { char fam[15]; char imya[15]; char otch[20]; char data[11]; int zarp; int dom[5]; int kv[5]; };

int compare(const void* a, const void* b) { const struct rabochii* ra = (const struct rabochii*) a; const struct rabochii* rb = (const struct rabochii*) b; return strcmp(ra->fam, rb->fam); }

int main() { const int N = 4; int i; struct rabochii rb[N];

for (i = 0; i < N; i++) { printf("\n%d-й рабочий", i); printf("\nФамилия: "); scanf("%s", rb[i].fam); printf("Имя: "); scanf("%s", rb[i].imya); printf("Отчество: "); scanf("%s", rb[i].otch); printf("Дата рождения: "); scanf("%s", rb[i].data); printf("Зарплата: "); scanf("%d", &rb[i].zarp); printf("Проживает в доме: "); scanf("%d", &rb[i].dom[0]); printf("В квартире: "); scanf("%d", &rb[i].kv[0]); }

qsort(rb, N, sizeof(struct rabochii), compare);

printf("\nОтсортированный список сотрудников по фамилии:\n"); for (i = 0; i < N; i++) { printf("%s %s %s\n", rb[i].fam, rb[i].imya, rb[i].otch); }

return 0; } ```

В этой программе мы добавили функцию `compare`, которая сравнивает фамилии двух сотрудников с помощью функции `strcmp`. Затем мы используем функцию `qsort`, чтобы отсортировать массив `rb` структур `rabochii` по фамилии. Наконец, мы выводим отсортированный список сотрудников на экран.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос