Task 3 - Algebra helper ( Exam )
Здравейте колеги !
Вече ден втори след изпитът продължава да ми убягва едно нещо по въпросната задача 3 .
Ако правилно съм разбрал структурата "multimap" подрежда елементите си спрямо ключът и по възходящ ред .
Ако има ключове с равни стойности то се запазва редът в който са въведени като елементи в структурата .
Тази информация съм си я набавил от известни сайтове в интернет .
Можете ли да прегледате кодът, който съм написал и да разтълкуваме заедно, защо елементите с еднакви ключове не се подреждат по ред на въвеждането им като "input" ?
Програмата се държи добре, докато не срещне елементи с еднакви ключове. Реално изходът е адекватен , но не удовлетворява малкото, капризно условиице :
"If two or more equations have the same result he keeps their order from the input. The first one remains first, second one – second"
Старал съм се да напиша четимо кодът , дано лесно се разбира какво съм искал да постигна...
Условие на задачата :
=======================================================================================
Little Ibrahim has some trouble with his math homework. He tries to learn some equation by heart. Help him out!
Ibrahim remembers the equations in his head by memorizing their result. He has good visual memory and utilizes it. He arranges the equations in his head in descending order by their result.
If two or more equations have the same result he keeps their order from the input. The first one remains first, second one – second, etc …
An equation will only be constructed from a 2 integers and an operating between the 2 integers.
NOTE: only the following 5 operations should be supported:
+ (sum)
- (subtraction)
* (multiplication)
/ (integer division)
% (integer modulo)
NOTE 2: there will be no brackets. Nothing fancy – just 2 integers and an operation between them.
Input
First a single integers (N) indicating how many equations will follow (each on a different line).
Next read (N) lines of equations. Each equation contains a number, after that an operations and then another number – always in that order.
Examples :
- Input 1 -
3
1 / 2
1 * 2
1 + 2
- Output 1 -
1 + 2
1 * 2
1 / 2
- Input 2 -
4
2 * 0
6 % 4
5 + 3
2 - 6
- Output 2 -
5 + 3
6 % 4
2 * 0
2 - 6
- Input 3 -
4
2 * 13
6 % 3
20 + 6
2 - 2
- Output 3 -
2 * 13
20 + 6
6 % 3
2 - 2
=======================================================================================
Чакам идеи и благодаря предварително ! :)
Супер! Благодаря за идеите , колеги . Ок е задачата вече .
Не знаех за наличието на трети параметър на мултимап . Реално само с добавянето на " greater< int > " приключи заигравката .
А и това за "обратният" итератор не го знаех а излежда полезно.