Упорядочивание записей по датам дней рождения - C (СИ)
Формулировка задачи:
Доброй ночи!
К тем, кто не спит и может помочь обращаюсь)
Требуется ввести с клавиатуры данные в массив,записи должны быть упорядочены по датам дней рождений(поля структуры:фамилия,имя, знак зодиака, день рождения[массив из трех чисел])
Кажется, что-то не то с упорядочиванием...
#include <stdio.h>
struct ZNAK
{ char fam[12];//фамилия
char name[9];//имя
char znak[10];//знак зодиака
int date[3];//день рождения(массив из трех чисел)
};mas[3];//объявление массива, состоящего из эл-ов типа ZNAK
int main (void)
{ int tmp,i;
char familiya;
for (i=0;i<3;i++)
scanf("%s%s%s%d", &mas[i].fam,&mas[i].name,&mas[i].znak,&mas[i].date);//ввод с клавиатуры данных в массив
for (i=0;i<2;i++)
if (mas[i+1].date<mas[i].date)
{tmp=mas[i].date;
mas[i].date=mas[i+1].date;
mas[i+1].date=tmp;
};//упорядочевание записей по датам ДР
printf("Введите фамилию\n");
scanf("%s", familiya);
for (i=0;i<3;i++)
if (mas[i].fam=familiya)
printf("fam=%s name=%s znak=%s date=%d",mas[i].fam,mas[i].name,mas[i].znak,mas[i].date);//вывод информации о чел-ке, фамилия которого была введена
else
printf("Такой фамилии нет");
return(0);
}Решение задачи: «Упорядочивание записей по датам дней рождения»
textual
Листинг программы
struct ZNAK {
char fam[12];//фамилия
char name[9];//имя
char znak[10];//знак зодиака
int date[3];//день рождения(массив из трех чисел)
}; mas[3];//объявление массива, состоящего из эл-ов типа ZNAK
Объяснение кода листинга программы
В этом коде объявлен массив структур типа ZNAK с именем mas и размером 3. Каждый элемент массива mas содержит фамилию, имя, знак зодиака и день рождения в виде массива из трех чисел.
Далее в коде идет заполнение этого массива данными. Для каждого элемента массива выводится сообщение с просьбой ввести данные (фамилию, имя, знак зодиака и день рождения). После ввода данных они записываются в соответствующий элемент массива.
После заполнения массива данными, происходит сортировка элементов массива по датам дней рождения.
Потом выводится отсортированный массив на экран.