• Предмет: Информатика
  • Автор: yanakotova0404
  • Вопрос задан 4 месяца назад

Помогите решить задачу на с++
Дан файл Tovar, содержащий сведения об экспортируемых товарах: указывается наименование товара, страна, импортирующая товар, и объем поставляемой партии в штуках. Составить список стран, в которые экспортируется данный товар, и общий объем его экспорта.

Ответы

Ответ дал: devpaul
0

Ответ:

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 содержит корректные данные в нужном формате. Код оптимизирован.

Вас заинтересует