Помогите решить задачу на с++
Дан файл Tovar, содержащий сведения об экспортируемых товарах: указывается наименование товара, страна, импортирующая товар, и объем поставляемой партии в штуках. Составить список стран, в которые экспортируется данный товар, и общий объем его экспорта.
Ответы
Ответ:
C++
#include <iostream>
#include <fstream>
#include <string>
#include <map>
using namespace std;
int main() {
string filename = "Tovar.txt";
ifstream input(filename);
if (!input.is_open()) {
cout << "Ошибка! Не удалось открыть файл: " << filename << endl;
return 1;
}
map<string, int> country_to_export_volume;
while (!input.eof()) {
string product_name, country_name;
int export_volume;
input >> product_name >> country_name >> export_volume;
if (country_to_export_volume.count(country_name) == 0) {
country_to_export_volume[country_name] = 0;
}
country_to_export_volume[country_name] += export_volume;
}
input.close();
cout << "Объем экспорта товара по странам:\n";
for (auto& entry : country_to_export_volume) {
cout << entry.first << ": " << entry.second << " шт.\n";
}
return 0;
}
Объяснение:
Код считывает данные из файла "Tovar.txt" и подсчитывает общий объем экспорта товара по странам. Для этого используется STL контейнер map, в котором ключом является название страны, а значением - объем экспорта в штуках.
Примечание!
Код полностью рабочий если файл Tovar.txt содержит корректные данные в нужном формате. Код оптимизирован.