Главная »
2018 » Апрель » 17 » Структура. Сортировка по возрасту
09:28 Структура. Сортировка по возрасту |
#include <iostream>
using namespace std;
struct person
{
char surname[20];
char name[20];
int age;
};
void vvod(person &x);
void vivod(person &x);
void vvod_mas(person *x, int k);
void vivod_mas(person *x, int k);
void sort_age(person *x, int k);
int main()
{
setlocale(LC_ALL, "Russian");
const int n=4;
person people[n];
vvod_mas(people,n);
cout<<"------- ***Begin БД *** -------"<<endl;
vivod_mas(people,n);
cout<<"------- *** End БД *** -------"<<endl;
sort_age(people,n);
cout<<"------- ***Sort Begin БД *** -------"<<endl;
vivod_mas(people,n);
cout<<"------- *** End БД *** -------"<<endl;
system("pause");
return 0;
}
void vvod(person &x)
{
cout<<"Введите фамилию ";cin>>x.surname;
cout<<"Введите имя ";cin>>x.name;
cout<<"Введите возраст ";cin>>x.age;
}
void vivod(person &x)
{
cout<<" "<<x.surname;
cout<<" "<<x.name;
cout<<" "<<x.age<<endl;
}
void vvod_mas(person *x, int k)
{
for (int i=0;i<k;i++)
{
cout<<"----------------------------"<<endl;
cout<<"Введите данные "<<(i+1)<<" человека из "<<k<<endl;
vvod(x[i]);
}
}
void vivod_mas(person *x, int k)
{
for (int i=0;i<k;i++)
{
cout<<(i+1)<<") ";
vivod(x[i]);
}
}
void sort_age(person *x, int k)
{
person temp;
int min,imin;
for (int j=0;j<k;j++)
{
min=x[j].age;
imin=j;
for (int i=j;i<k;i++)
if (x[i].age<min)
{
min=x[i].age;
imin=i;
}
temp=x[j];
x[j]=x[imin];
x[imin]=temp;
}
}
|
Просмотров: 301 |
Добавил: denjes
| Рейтинг: 0.0/0 |