for (i = 0; i < n-1; i ++) // сортировка
for (j = n-2; j >= i; j --)
if (p[j+1]->year < p[j]->year) // еслиуказателистоят
{ // неправильно, то...
temp = p[j]; // переставить их
p[j] = p[j+1];
p[j+1] = temp;
}
}
Основная программа, которая выводит на экран информацию о книгах в порядке их выхода,выглядит примерно так:
#include <stdio.h>
const int N = 20;
struct Book { // новый тип данных - структура
char author[40];
char title[80];
int year;
int pages;
};
typedef Book *PBook; // новый тип данных – указатель на структуру
// здесь надо расположить процедуру SortYear
Main()
{
Book B[N]; // массив структур
PBook p[N]; // массив указателей
// здесь нужно заполнить структуры
for (i = 0; i < N; i ++) // начальная расстановка указателей
p[i] = &B[i];
SortYear (p, N); // сортировка по указателям
for (i = 0; i < N; i ++) // цикл по всем структурам
printf("%d: %s\n", // вывод через указатели
p[i]->year, p[i]->title);
}