Отсортировать массив книг по возрастанию их стоимости - C (СИ)
Формулировка задачи:
Уважаемые программист, помогите пожалуйста отсортировать книги за ценой по возрастанию их стоимости. Заранее спасибо
#include<stdio.h>
#include<math.h>
#include<locale.h>
int main()
{
int i, T, j ; int s;
union book{
char avtor[50];
int stranitsi;
int price;
char name[50];
};
setlocale(LC_ALL, "rus");
printf(" введите количество книг: ", T);
scanf("%d", &T);
union book kni[T];
for(i=0; i<T; i++)
{
printf("%d-й товар",i+1);
printf("\n Название:"); scanf("%s", &kni[i].name);
printf("\n Автор:"); scanf("%s", &kni[i].avtor);
printf("\n Количество страниц:"); scanf("%d", &kni[i].stranitsi);
printf("\n Цена:"); scanf("%d", &kni[i].price);}
for(i=0; i<T; i++)
{
if(kni[i].price > kni[i+1].price)
{ s=kni[i].price;
kni[i].price=kni[i+1].price;
kni[i+1].price=s;
}
for(i=0; i<T; i++)
printf("%d\t", kni[i].price);
}system("pause");
}Решение задачи: «Отсортировать массив книг по возрастанию их стоимости»
textual
Листинг программы
#include<stdio.h>
#include<math.h>
#include<locale.h>
#include<ctype.h>
int main()
{
setlocale(LC_ALL, "rus");
int i, T, j ; int s;
printf("Введите количество книг:");
scanf("%d", &T);
struct book{
char avtor[50];
int stranitsi;
int price;
char name[50];
}kni[T],c;
for(i=0; i<T; i++)
{
printf("\n%d-й товар\n",i+1);
printf("Название:");
scanf("%s", &kni[i].name);
printf("Автор:");
scanf("%s", &kni[i].avtor);
printf("Количество страниц:");
scanf("%d", &kni[i].stranitsi);
printf("Цена:");
scanf("%d", &kni[i].price);}
for ( i = 0; i < T-1; i ++ )
for ( j = T-2; j >= i; j -- )
if ( kni[j].price >kni[j+1].price )
{
c = kni[j]; kni[j] =kni[j+1];
kni[j+1] = c;
}
for(i=0; i<T; i++){
printf("%d\t", kni[i].price);
}
system("pause");
}
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Устанавливается русская локальная настройка для вывода
- Пользователю предлагается ввести количество книг, которое будет храниться в массиве
- Создается структура book для хранения информации о каждой книге, включая название, автора, количество страниц и цену
- Пользователю предлагается ввести данные о каждой книге (название, автор, количество страниц, цена)
- Производится сортировка массива книг по возрастанию их цены с использованием алгоритма сортировки пузырьком
- Выводится отсортированный массив цен книг
- Программа завершается