{char gorod[Lmax], zavod[Lmax], fam[Lmax];
};
Struct tvSet
{
char name[Lmax], color;
proizv pr;
int price, diag;
};
void input (tvSet *tv, int *k) //ввод массива телевизоров
{ int i;
do
{
printf("enter number of TV ");
scanf("%d", k); //k – указатель на количество структур
}
while (*k<=0 || *k>Kmax);
CLR; /* необходим пропуск символов до конца строки, т.к. дальше функция gets - читается строка */
for (i=0; i<*k; i++)
{
printf("TV # %d\n", i+1);
printf("Name: "); gets(tv[i].name);
printf("Price: "); scanf("%d", &tv[i].price);
printf("Diagonal size: "); scanf("%d", &tv[i].diag);
CLR; //цветной или ч\б обозначается одной буквой (ц или ч)
printf("Image color(c - means color): "); tv[i].color=getchar();
CLR; //пропуск символа ‘\n’
printf("City: "); gets(tv[i].pr.gorod);
printf("Factory: "); gets(tv[i].pr.zavod);
printf("Surname: "); gets(tv[i].pr.fam);
printf("\n");
}
printf("Input is over\n");
getchar();
}
//вывод массива телевизоров
void output (tvSet *tv, int k)
{
int i;
printf("list of TV sets: \n");
for(i=0; i<k; i++)
{
printf("TV # %d\n", i+1);
printf("Name: %s\n", tv[i].name);
printf("Price: %d\n", tv[i].price);
printf("Diagonal size: %d\n", tv[i].diag);
printf("Image color: %c\n", tv[i].color);
printf("City: %s\n", tv[i].pr.gorod);
printf("Factory: %s\n", tv[i].pr.zavod);
|
|
printf("Surname: %s\n", tv[i].pr.fam);
printf("Press any key to continue...\n");
Getchar();//ожидание нажатия клавиши
}
printf("End of list\n");
printf("Press any key to continue...\n");
}
//формирование массива городов (города в массиве не повторяются)
void search (tvSet *tv, char goroda[][Lmax], int k, int *kg)
{
int min=LONG_MAX, i, j;
for(i=0; i<k; i++) //поиск телевизора с минимальной ценой
if (tv[i].price<min) min=tv[i].price;
//формирование массива городов
for (i=0; i<k; i++)
if (tv[i].price==min) //если цена совпадает с минимальной
{
//проверка отсутствия города в массиве городов
for(j=0; j<*kg && strcmp(tv[i].pr.gorod, goroda[j]); j++);
if (j==*kg) //если отсутствует, запишем город в массив
strcpy(goroda[(*kg)++], tv[i].pr.gorod);
}
}
Main()
{
tvSet tv[Kmax];
int k, kg=0, i;
char goroda[Kmax][Lmax];
input(tv, &k); // ввод массива телевизоров