Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Filipbg avatar Filipbg 26 Точки

Largest 3 проблем с принтирането

#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
    string line;
    getline(cin, line);
    istringstream lineStream(line);
    int number;
    vector<int> numbersVec;
    while(lineStream >> number)
        numbersVec.push_back(number);
    sort(numbersVec.begin(), numbersVec.end());
    for(vector<int>::iterator it = numbersVec.begin(); it != numbersVec.end(); ++it)
    cout << *it << " <= ";
    return 0;
}

Тъкмо се зарадвах че я реших без услужнения и гледам, че накрая печати <= в повече опитах се да променя цикъла от нормален към такъв с итератор, и пак същото. 

0
C++ Fundamentals 21/10/2019 17:24:54
galin_kostadinov avatar galin_kostadinov 166 Точки
Best Answer

Привет!

Това прилича повече на Task 5 – Sort Numbers.

Ако става въпрос за нея има няколко начина да го направиш:

for (vector<int>::iterator it = numbersVec.begin(); it != numbersVec.end() - 1; ++it){
    cout << *it << " <= ";
}

cout << *(numbersVec.end() - 1) << endl;

Итерираш до един преди последния елемент и след това принтираш само последния.

Ако става пъпрос за Largest 3, тогава там няма <=

Поздрави!

0
Filipbg avatar Filipbg 26 Точки

Да за Sort Numbers става въпрос. Обърках името защото и на Largest 3 имам проблем и смятах да отварям нова тема за нея. Та за това което ми каза работи. Явно трябва отделно да се принтират за да не се добавя автоматично <= след крайното число. Дълго време се чудех и никъде не намерих инфо за такава грешка. За Largest 3 ми гърмяха 4ти и 5ти тест. Но сега пробвах с double вместо с int и мина. В примерите на Largest 3 има само цели числа и мислех че задачата се състои само от integers. 

1
galin_kostadinov avatar galin_kostadinov 166 Точки

Ако искаш може да ги проваш и със set.

За Largest_3:

std::set<double, std::greater<double>> numbers;

За Sort Numbers:

std::set<double> numbers;

Поздрави!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.