Untitled
unknown
c_cpp
2 years ago
3.2 kB
5
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...