Задача: Определить структурный тип Baggage: {Число мест, Общий вес}. Создать массив структур, содержащих информацию
о багаже нескольких пассажиров. Найти багаж, число вещей в котором не меньше, чем в любом другом,
а вес, не больше, чем в любом другом с тем же числом вещей.
Не могу решить. Помогите исправить ошибки, пожалуйста.
Код:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <windows.h>
/**Определить структурный тип Baggage: {Число мест, Общий вес}. Создать массив структур, содержащих информацию
о багаже нескольких пассажиров. Найти багаж, число вещей в котором не меньше, чем в любом другом,
а вес, не больше, чем в любом другом с тем же числом вещей. */
struct Baggage{
int places;
int weight;
};
#define N 10
struct Baggage *SearchMaxMin( struct Baggage *, int);
int main()
{
int i;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
struct Baggage *LugFlight = (Baggage*)malloc(N*sizeof(Baggage));
if (LugFlight)
{
printf("\n\tВведите число мест и общий вес багажа в формате"
"\n\n\t\t МЕСТ, ВЕС\n\n\t\tВсего десять пар.\n\n");
for( i = 0; i < N; i++)
scanf("%d, %d", &LugFlight[i].places, &LugFlight[i].weight);
struct Baggage *MaxMinLug = SearchMaxMin(LugFlight, N);
if (MaxMinLug)
{
printf("\n\n\tИскомый багаж: %d мест общим весом %d кг.\n\n",
MaxMinLug -> places, MaxMinLug -> weight );
free (MaxMinLug);
}
free (LugFlight);
}
else
printf ("Ошибка выделения памяти!\n");
return 0;
}
/* Возвращает указатель
на багаж (элемент массива LugFlight) в котором макс. кол-во мест и
мин. общий вес среди багажей с таким же кол-вом мест.*/
struct Baggage *SearchMaxMin(Baggage *LugFlight, int max)
{
int i;
Baggage *Result = (Baggage*)malloc(sizeof(Baggage));
Result->places = LugFlight[0].places;
Result->weight = LugFlight[0].weight;
for(i=1; i<max; i++)
{
if (LugFlight[i].places > Result->places)
{
Result->places = LugFlight[i].places;
Result->weight = LugFlight[i].weight;
}
else if (LugFlight[i].places == Result->places)
{
if (LugFlight[i].weight <= Result->weight)
Result->weight = LugFlight[i].weight;
}
}
return Result;
};