Wczytywanie liczb z zakresu, wypisanie zapamiętanych

0

Muszę napisać program, który wczytuje liczby całkowite z zakresu 0 do 5000. Zakres ten nie ulegnie zmianie. Jeśli wprowadzona liczba jest spoza zakresu, program ma odrzucić liczbę i wczytywać dalej. Natomiast jeśli wprowadzi się -1, program ma wypisać wszystkie zapisane liczby i posortowane rosnąco.

Nie wiem kompletnie jak się do tego zabrać, bo dopiero zaczynam przygodę z programowaniem.. Proszę o szybką pomoc. z góry dziękuje.

0

Bardzo chętnie pomożemy. Wczytuj liczby za pomocą std::cin, za kontener użyj std::vector. Czy masz jakiś konkretny problem?

0
#include "pch.h"
#include <iostream>
#include <vector>

using namespace std;

vector <int> wczytane;
int n;

int main()
{
    cin >> n;

    if (n <= 5000 && n >= 0)
    {
        wczytane.push_back(n);
    }
    if (n > 5000 && n < -1)
    {
        wczytane.push_back(NULL);
    }
    else
    {
        for (auto i = 0; i < wczytane.size(); i++)
        {
            cout << wczytane[i];
        }
    }
    return 0;
}

Próbowałem zrobić tak, natomiast nie jestem do końcaa przekonany, jak to ma działać.

1

Nie używaj zmiennych globalnych, to nie ma sensu.

Podziel kod na część wczytującą i wypisującą. Na razie wczytujesz jedną liczbę, i nawet nie dodajesz jej do wektora. Popraw to na pętlę wczytującą i dodawaj wczytane liczby do wektora, a potem martw się o ich wypisanie.

0

Jeśli mam pętlę wczytującą (użyłem for), w jaki sposób mam wyłapać te liczby, które nie są z podanego zakresu?

1

if

0
using namespace std;

vector <int> wpisane;

int main()
{
    int n;

    for (;;)
    {
        cin >> n;
        if (n >= 0 && n <= 5000)
            wpisane.push_back(n);
        else 

    }
    return 0;

}

ok, zawiesiłem się bo nie wiem jakie warunki dać

1

Dobre dałeś. Tylko jeszcze musisz sprawdzić czy wczytanie się powiodło.

0

Czy muszę dodać coś jeszcze żeby mi ignorowało liczby spoza zakresu czy tak jest ok?

0

Już Ci je ignoruje (nie trafiają one do wektora). Brakuje Ci tylko przerywania pętli przy -1.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0