Введите информацию о трех легковых автомобилях и выдайте их по
возрастанию государственных номеров, по марке автомобиля, по возрастанию
или убыванию мощности двигателей, по возрастанию или убыванию годов
выпуска. Информация об автомобиле: марка автомобиля, государственный
номер, мощность двигателя, год выпуска.
C/C++
Помогите написать алгоритм с++
#include <algorithm>
#include <iomanip>
#include <vector>
#include <iostream>
using namespace std;
struct automobile
{
string numer;
string tm;
uint16_t power;
uint16_t year;
void add()
{
cout << "Enter numer, mark, power and year\n";
cin >> numer >> tm >> power >> year;
}
void print()
{
cout << setw(10) << tm << setw(8) << year << setw(6) << power << setw(4) << "HP" << setw(10) << numer << "\n";
}
};
void param_sort(vector<automobile>& vect, char Param, bool up)
{
switch (Param)
{
case 'n': sort(vect.begin(), vect.end(), [&](automobile& l, automobile& r) {return up ^ (l.numer > r.numer); }); break;
case 'm': sort(vect.begin(), vect.end(), [&](automobile& l, automobile& r) {return up ^ (l.tm > r.tm); }); break;
case 'p': sort(vect.begin(), vect.end(), [&](automobile& l, automobile& r) {return up ^ (l.power > r.power); }); break;
case 'y': sort(vect.begin(), vect.end(), [&](automobile& l, automobile& r) {return up ^ (l.year > r.year); }); break;
default: break;
}
}
int main()
{
uint16_t count;
cout << "enter count of auto:\n";
cin >> count;
vector<automobile>catalog(count);
for (auto& i : catalog) i.add();
cout << "sort for numer, mark, power, year (enter first letter) and false/true for decrease(increase)\n";
char letter; bool is_up;
cin >> letter >> boolalpha >> is_up;
param_sort(catalog, letter, is_up);
for (auto& i : catalog) i.print();
}
#include <iomanip>
#include <vector>
#include <iostream>
using namespace std;
struct automobile
{
string numer;
string tm;
uint16_t power;
uint16_t year;
void add()
{
cout << "Enter numer, mark, power and year\n";
cin >> numer >> tm >> power >> year;
}
void print()
{
cout << setw(10) << tm << setw(8) << year << setw(6) << power << setw(4) << "HP" << setw(10) << numer << "\n";
}
};
void param_sort(vector<automobile>& vect, char Param, bool up)
{
switch (Param)
{
case 'n': sort(vect.begin(), vect.end(), [&](automobile& l, automobile& r) {return up ^ (l.numer > r.numer); }); break;
case 'm': sort(vect.begin(), vect.end(), [&](automobile& l, automobile& r) {return up ^ (l.tm > r.tm); }); break;
case 'p': sort(vect.begin(), vect.end(), [&](automobile& l, automobile& r) {return up ^ (l.power > r.power); }); break;
case 'y': sort(vect.begin(), vect.end(), [&](automobile& l, automobile& r) {return up ^ (l.year > r.year); }); break;
default: break;
}
}
int main()
{
uint16_t count;
cout << "enter count of auto:\n";
cin >> count;
vector<automobile>catalog(count);
for (auto& i : catalog) i.add();
cout << "sort for numer, mark, power, year (enter first letter) and false/true for decrease(increase)\n";
char letter; bool is_up;
cin >> letter >> boolalpha >> is_up;
param_sort(catalog, letter, is_up);
for (auto& i : catalog) i.print();
}
Если денег особо ни у кого нет как тогда?
бесплатно тебе это не сделают
Похожие вопросы
- Напишите алгоритм подсчета цифр. Помогите.
- Помогите ускорить алгоритм
- Помогите составить алгоритм вычисления функции:
- Помогите реализовать алгоритм на С++
- Помогите решить алгоритм на с++
- Ещё один вопрос. Можете написать алгоритм к этой задаче(можно без кода, просто текстом)
- Написать алгоритм для решения примера №3 и 4
- Помогите написать программу на С
- Помогите написать программу на C++
- Помогите написать программу на с++