Jak mogę skrócić kod lub jak napisać program inaczej? Jak napisać ten program łatwiej?

0

Mam zadanie z książki o treści "Napisz program, który prosi użytkownika o podanie trzech liczb całkowitych, które następnie wyświetla w kolejności od najmniejszej do największej, oddzielając je przecinkami. Np., jeśli użytkownik poda liczby 10, 4, 6 program powinien wydrukować 4, 6, 10. Jeśli dwie wartości będą takie same, program powinien ustawić je obok siebie. np liczby 4, 5, 4 powinny zostać ustawione w następującej kolejności: 4, 4, 5."

Program napisałem, z wykorzystaniem operatora "&&" i z nowymi instrukcjami if
chodzi mi o
{
if(...)
...
}

Nie miałem tego jeszcze w książce (miałem bez tych bracketów)

I stąd moje zwątpienie czy dobrze wykonałem zadanie, tzn. w odpowiedni sposób.

Jeśli coś napisałem błędnie to proszę popraw mnie, nie jestem programistą, dopiero się uczę.

Kod (napisałem na pastebinie, bo wydaje mi się że kod jest za długi żeby go tu wlepić)

1

Jeśli przez "dobrze" rozumiesz, że działa - to zapewne napisałeś dobrze (nie patrzyłem na wszystkie kombinacje, czy gdzieś nie było typo albo innego błędu), ale zastanów się co będzie jeśli będziesz chciał wyświetlić w kolejności 5 liczb. Albo 10 :​)

Ogólnie sensowniejszym rozwiązaniem będzie dodanie liczb do jakiegoś kontenera - np tablicy albo wektora - i posortowanie go przed wyświetleniem.

1
#include <iostream>
#include <algorithm>

int main()
{
    using namespace std;

    int tab[3] = {0};

    for (int i = 0; i < 3; i++)
        cin >> tab[i];

    sort(tab, tab + 3);

    for (int i = 0; i < 3; i++)
        cout << tab[i] << ((i < 2) ? ", " : "\n");

    return 0;
}

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