Структуры: упорядочить список пассажиров по убыванию веса багажа, вывести в табличной форме - C (СИ)
Формулировка задачи:
Данные о пассажирах включают фамилию пассажира номер места и общий вес багажа. Упорядочить список по убыванию веса багажа Результаты вывести в табличной форме. Подскажите, пожалуйста, как вывести результаты структуры в виде таблицы.
Решение задачи: «Структуры: упорядочить список пассажиров по убыванию веса багажа, вывести в табличной форме»
textual
Листинг программы
#include <stdio.h>
typedef struct Info_t {
const char* name;
size_t number;
size_t weight;
} Info;
int main() {
Info info[] = {{"Ivanov", 1, 100},
{"Petrov", 2, 200},
{"Sidorov", 3, 150}};
size_t size = sizeof(info) / sizeof(*info);
size_t i;
for (i = 0; i < size; ++i) {
printf("%32s | %12u | %12u\n",
info[i].name, info[i].number, info[i].weight);
}
return 0;
}
Объяснение кода листинга программы
- Подключается заголовочный файл stdio.h, который содержит функции для ввода и вывода данных.
- Объявляется структура Info_t, которая содержит поля name, number и weight типа const char*, size_t соответственно.
- В функции main() создается массив структур Info_t с именем info и инициализируется значениями по умолчанию.
- Вычисляется размер массива info с помощью оператора sizeof и функции malloc().
- Создается переменная i для итерации по элементам массива info.
- В цикле for происходит вывод значений полей структуры Info_t в табличной форме с помощью функции printf().
- Функция main() возвращает 0, что означает успешный конец работы программы.