Цитата:
Сообщение от semmmen98
Определить: - имеется ли пассажир, багаж которого состоит из одной вещи массой менее m кг
|
Ввод исходных данных из файла я не показываю - это элементарно просто (массив пассажиров выписан прямо в коде), а всё остальное может выглядеть так:
Код:
#include <iostream>
#include <algorithm>
using namespace std;
struct bagazh {
string owner;
int number;
float weight;
inline friend ostream& operator <<( ostream& out, const struct bagazh& obj ) {
return out << "[ " << obj.owner << " | "
<< obj.number << " | " << obj.weight << " ]";
}
};
int main( int argc, char** argv ) {
float m = 12.;
bagazh train[] = {
{ "Иванов И.И.", 2, 12. },
{ "Петров П.П.", 1, 15. },
{ "Сидоров С.С.", 1, 9. },
{ "Макаров М.М.", 1, 11. },
};
int size = sizeof( train ) / sizeof( train[ 0 ] );
for( bagazh *i = train; i < train + size; ) {
i = find_if( i, train + size, [ m ]( bagazh& x )-> bool {
return 1 == x.number && x.weight < m; } );
if( i < train + size )
cout << *i++ << endl;
}
}
Выполнение:
Код:
$ g++ -Wall -std=c++11 -O3 bagazh.cc -o bagazh
$ ./bagazh
[ Сидоров С.С. | 1 | 9 ]
[ Макаров М.М. | 1 | 11 ]