PBook temp; // вспомогательный указатель

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);

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: