Program do sortowania liczb (problem)

0

Witam wszystkich, nie ukrywam - mam problem... męczę się z tym i nie potrafię znaleźć błędu...

Program ma posortować dane 5 liczb przy użyciu petli, bez używania tablic. No więc wszystko gra oprócz 2 rzeczy.
Pierwsza, to nie za bardzo wiem jak zrobic zeby mi softowalo liczby ujemne na zasadzie:
-8, -7, -2, -1, 3 zamiast
-1, -2, -7, -8, 3 (najchetniej bym po prostu odwrocil te liczby o 180 stopni zeby wygladalo to na np w tym przypadku -8 -7 -2 -1 ale nie wiem jak to zrobic)

A drugi, że nie wiem jakim cudem zawsze A oraz B a rzadko kiedy ale również C D i E wyswietla mi podwójnie jezeli sa to liczby ujemne.
Np jesli podam -5 -2 -6 -1 -8 to mam wynik -1 -2 -5 -6 -8 -6 -5 -8

Oto kod:

#include <cstdlib>
#include <iostreamto>

using namespace std;

int main()
{
int A, B, C, D, E, AA, BB, CC, DD, EE, AAu, BBu, CCu, DDu, EEu;
int warunek = true;
cout << "Podaj 5 liczb ktore chcesz posortowac oddzielajac je enterami\n";
cin >> A >> B >> C >> D >> E;
if (A>=0) AA = A;
else AAu = A;
if (B>=0) BB = B;
else BBu = B;
if (C>=0) CC = C;
else CCu = C;
if (D>=0)DD = D;
else DDu = D;
if (E>=0)EE = E;
else EEu = E;
cout << endl;
while (warunek)
{
if (AAu==1)
cout << A << endl;
if (BBu==1)
cout << B << endl;
if (CCu==1)
cout << C << endl;
if (DDu==1)
cout << D << endl;
if (EEu==1)
cout << E << endl;
if (AAu>=1&&BBu>=1&&CCu>=1&&DDu>=1&&EEu>=1)
break;
AAu++; BBu++; CCu++; DDu++; EEu++;
}

while (warunek)
{ 
    if (AA==0)
       cout << A << endl;
    if (BB==0)
       cout << B << endl;
    if (CC==0)
       cout << C << endl;
    if (DD==0)
       cout << D << endl;
    if (EE==0)
       cout << E << endl;
    if (AA<=0&&BB<=0&&CC<=0&&DD<=0&&EE<=0)
       break;
    AA--; BB--; CC--; DD--; EE--;
}
cout << "Program zakonczyl dzilanie.";
system("pause");

}

Mógłbym prosić o korektę? Albo chociaż żebyście mnie naprowadzili co gdzie nie tak itp ;) bo ja za nic nie widzę :/

0

Proponuję zrobić tak: stwórz listę (skoro nie możesz używać tablic ;) ) i na bieżąco (gdy wczytujesz kolejne liczby) wstawiaj wczytaną liczbę na odpowiednią pozycję na liście - w ten sposób, po wczytaniu liczb będziesz je miał od razu posortowane i wystarczy wtedy wypisać listę. Chodzi o to, że tworzenie tylu zmiennych to zbrodnia ;p A gdybyś miał posortować 17 liczb ? :> Albo 45 ? :>

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