Untitled
unknown
c_cpp
3 years ago
3.2 kB
6
Indexable
#include <iostream> //підключення бібліотеки введення-виведення
#include <algorithm> //підключення бібліотеки алгоритмів
#include <string> //підключення бібліотеки рядків
#include <iomanip> //підключення бібліотеки для встановлення формату виведення
using namespace std; //використання простору імен std
struct Company //створення структури Company
{
string name; //назва компанії
int month; //місяць
double profit; //прибуток
};
bool compareProfit(const Company &c1, const Company &c2) //функція порівняння за прибутком
{
return c1.profit < c2.profit; //повертає true, якщо прибуток першої компанії менше за прибуток другої
}
int main() //головна функція
{
int n; //кількість компаній
cout << "Enter the number of companies: "; //виведення запиту на введення кількості компаній
cin >> n; //зчитування кількості компаній
Company companies[n]; //створення масиву компаній
for (int i = 0; i < n; i++) //цикл введення даних про компанії
{
cout << "Enter the name of company " << i+1 << ": "; //виведення запиту на введення назви компанії
cin.ignore(); //ігнорування переносу рядка після введення кількості компаній
getline(cin, companies[i].name); //зчитування назви компанії
cout << "Enter the month of company " << i+1 << ": "; //виведення запиту на введення місяця
cin >> companies[i].month; //зчитування місяця
cout << "Enter the profit of company " << i+1 << ": "; //виведення запиту на введення прибутку
cin >> companies[i].profit; //зчитування прибутку
}
sort(companies, companies + n, compareProfit); //сортування компаній за прибутком
cout << "Sorted list of companies:" << endl; //виведення заголовку відсортованого списку компаній
cout << left << setw(30) << "Name" << setw(10) << "Month" << setw(10) << "Profit" << endl; //виведення заголовків стовпців таблиці
for (int i = 0; i < n; i++) //цикл виведення відсортованого списку компаній
{
cout << left << setw(30) << companies[i].name << setw(10) << companies[i].month << setw(10) << fixed << setprecision(2) << companies[i].profit << endl; //виведення назви компанії, місяця і прибутку у відповідні стовпці таблиці
}
return 0; //повернення нульового значення
}Editor is loading...