Написати програму в С++
Визначити товар з найбільшою кількістю на складі та обчислити його сумарну вартість Умова:
Товари на складі:
– найменування;
– виробник;
– ціна;
– кількість.
Можна на основі даного коду:
#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;
}
Товары на складе:
- наименование;
- производитель;
- цена;
- количество.
#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
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);
}
setlocale(LC_ALL, ".1251");
printf("\nСередня вартiсть товарiв фiрми LG - %5.2f\n", allsum);
delete []z;
system ("pause>>void");
return 0;
}
Ответы
Ответ:
Код ниже, но вероятно он не очень похож на то что попросил преподаватель. Извини, поздно увидел твои комментарии насчет этого.
Объяснение:
#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 << ".";
}