Я застрял при попытке добавить количества в этот список, когда он возвращает результат. По сути, это список, введенный пользователем, который начинается с количества и сопровождается словом. Затем предполагается выводить тот же список, но в алфавитном порядке. В настоящее время у меня это в алфавитном порядке, но числа, которые пользователь вводит в той же строке, возвращаются в отдельной строке от слова при возврате в алфавитном порядке. Я знаю, что мне предлагается использовать параллельные массивы, но я понятия не имею, как включить их в это. Никто не смог мне ответить, но я знаю, что это выполнимо. Спасибо всем заранее !!
#include <iostream>
#include <string>
#include <iomanip>
#include "functions.h"
#include <algorithm>
#include <set>
using namespace std;
void print(const string& item)
{
cout << item << endl;
}
int main(void)
{
const int MAX_LENGTH = 256;
string items [MAX_LENGTH];
int quantities [ MAX_LENGTH];
string itemChoice;
string qtyChoice;
int numItems= 0;
int randomArray[MAX_SIZE];
{
set<string> sortedItems;
cout << " (type \"exit\" twice to exit, now press enter twice to begin listing your shopping list.): ";
getline (cin, qtyChoice);
getline(cin, itemChoice);
for (int i = 1; ; i++)
{
string itemChoice;
string wholeOrder;
cout << i << ". ";
cin >> itemChoice;
cin >> qtyChoice; // this is how I got it to intake #'s
//getline (cin, qtyChoice);// putting these here actually allow both items to be on one line!! but it leaves awkward spaces.
//getline(cin, itemChoice);
//getline (cin, qtyChoice);
if (itemChoice == "exit")
{
break;
}
sortedItems.insert(qtyChoice);
sortedItems.insert (itemChoice);
//sortedItems.insert(itemChoice);
}
for_each(sortedItems.begin(), sortedItems.end(), &print);
return 0;
}
это мой код и это то, что происходит как вывод
(type "exit"to exit, now press enter twice to begin listing your list.):
1. 3828 eijsd
2. 38238 shd
3. 382 hsdid
4. exit
382
38238
3828
eijsd
hsdid
shd