Предмет: Информатика, автор: xXxUKRAINECxXx

Написати програму в С++
Визначити товар з найбільшою кількістю на складі та обчислити його сумарну вартість Умова:
Товари на складі:
– найменування;
– виробник;
– ціна;
– кількість.
Можна на основі даного коду:
#include
#include
using namespace std;
int main()
{
struct tovar
{ char nazva[12], pr[10]; int cnt; float vart; };
int kol = 0;
setlocale(LC_ALL, ".1251");
cout > kol;
tovar *z = new tovar[kol];
cout >void");
return 0;
}


smalyarovsky888: друже, не мог бы ты дать условие на русском? Тогда я попробую решить
xXxUKRAINECxXx: Определить товар с наибольшим количеством на складе и вычислить его суммарную стоимость Условие:
Товары на складе:
- наименование;
- производитель;
- цена;
- количество.
smalyarovsky888: Сейчас сделаем!
xXxUKRAINECxXx: Ок только желательно использовать struct (структуру) =)
xXxUKRAINECxXx: #include
#include
using namespace std;
int main()
{
struct tovar
{ char nazva[12], pr[10]; int cnt; float vart; };
int kol = 0;
setlocale(LC_ALL, ".1251");
cout << "Введiть кiлькiсть товарiв -"; cin >> kol;
tovar *z = new tovar[kol];
cout << "Введiть почергово рядки з вiдомостями про " << kol
<< " товари(iв):\nНайменування Вирoбник Kiл-ть Цiна (десяткова кома)"<setlocale( LC_ALL, ".OCP" );
for (int i=0; i
xXxUKRAINECxXx: scanf("%s %s %i %g",z[i].nazva,z[i].pr, &z[i].cnt, &z[i].vart);
double allsum=0, Svart, skol=0; int ktel=0;
setlocale(LC_ALL, ".1251");
cout << "\nПерегляд товарiв фiрми LG:\nNoNo Найменування Вирoбник Kiл-ть Цiна Вартiсть" << endl;
setlocale(LC_ALL, ".OCP");
for (int i=0; iif (!stricmp(z[i].pr,"LG"))
{ ktel++;
skol +=z[i].cnt;
Svart = z[i].vart * z[i].cnt;
allsum += Svart;
printf("%i %s\t%s\t%i\t%5.2f\t%6.2f\n",
ktel, z[i].nazva, z[i].pr, z[i].cnt, z[i].vart, Svart);
}
xXxUKRAINECxXx: allsum /= skol;
setlocale(LC_ALL, ".1251");
printf("\nСередня вартiсть товарiв фiрми LG - %5.2f\n", allsum);
delete []z;
system ("pause>>void");
return 0;
}
xXxUKRAINECxXx: Вот код примера, с которого преподаватель попросил переделать на это =)

Ответы

Автор ответа: smalyarovsky888
1

Ответ:

Код ниже, но вероятно он не очень похож на то что попросил преподаватель. Извини, поздно увидел твои комментарии насчет этого.

Объяснение:

#include <bits/stdc++.h>

#define int long long

using namespace std;

bool cmp(pair<pair<string, string>, pair<int, int>> a, pair<pair<string, string>, pair<int, int>> b) {

   return a.second.second > b.second.second;

}

signed main() {

   int n; cin >> n; // Количество наименований

   vector<pair<pair<string, string>, pair<int, int>>> s(n); // Массив с товарами, каждый товар описывается двумя парами, в первой - название и производитель, во второй - цена и количество

   for (int i = 0; i < n; ++i)

       cin >> s[i].first.first >> s[i].first.second >> s[i].second.first >> s[i].second.second; // Вводим данные о товаре

   sort(s.begin(), s.end(), cmp);

   

   cout << "Товар с наибольшим количеством на складе: " << s[0].first.first << ". Суммарная стоимость " << s[0].first.first << " на складе равняется " << s[0].second.first * s[0].second.second << ".";

}


smalyarovsky888: уж извини, если что-то не так, напиши об этом и я попробую исправить
xXxUKRAINECxXx: А можеш переделать как просил препод, подалуйста =) ???
Похожие вопросы
Предмет: Химия, автор: petushok2511