Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Sortowanie liczb

Ostatnio zmodyfikowano 2015-10-22 23:00
Autor Wiadomość
danielpadewski
Temat założony przez niniejszego użytkownika
Sortowanie liczb
» 2015-10-22 15:34:59
Witam. Napisałem prostą funkcje sortującą liczby od największej do najmniejszej
C/C++
#include <iostream>
using namespace std;
int main()
{
    int tab[ 5 ], liczby[ 5 ];
    int licznik;
   
    tab[ 0 ] = 3;
    tab[ 1 ] = 100;
    tab[ 2 ] = 10;
    tab[ 3 ] = 8;
    tab[ 4 ] = 4;
   
    for( int i = 0; i < 5; i++ )
    {
        licznik = 0;
        for( int j = 0; j < 5; j++ )
        {
            if( tab[ i ] < tab[ j ] )
            {
                licznik++;
            }
        }
        liczby[ licznik ] = tab[ i ];
    }
    for( int y = 0; y < 5; y++ )
    {
        cout << liczby[ y ] << endl;
    }
   
    return 0;
}

program dziala dobrze , niestety nie wiem jak zrobic zeby program zapisywal liczby do tablicy wtedy kiedy są np 2 równe sobie liczby. Jeśli zrobię coś takiego
if( tab[ i ] <= tab[ j ] )
 to są nie prawidłowe wyniki
P-139024
wojownik266
» 2015-10-22 15:49:50
Może by tak zmienić warunek w instrukcji if na taki
if( tab[ i ] == tab[ j ] )
.
P-139025
danielpadewski
Temat założony przez niniejszego użytkownika
» 2015-10-22 15:52:27
taki zapis oznaczałby że jeśli liczby są sobie równe to wtedy dopiero są zapisane do tablicy
P-139026
carlosmay
» 2015-10-22 16:21:01
program dziala dobrze , niestety nie wiem jak zrobic zeby program zapisywal liczby do tablicy wtedy kiedy są np 2 równe sobie liczby.
 Czyli nie działa dobrze ;) Wyszukuj maks i kopiuj do kolejnych elementów tablicy.

Algorytmy sortujące
P-139028
danielpadewski
Temat założony przez niniejszego użytkownika
» 2015-10-22 16:24:06
Prawie każdy program można rozwiązać na wiele sposobów. Zanim napisałem ten kod głowiłem się nad kodem w którym wyszukuje max i potem porównuje do innych liczb. Mam zamiar napisać również i taki kod ale w chwili obecnej chciałbym wiedzieć dlaczego nie można w instrukcji warunkowej dać == ?
P-139030
carlosmay
» 2015-10-22 16:41:04
Użyj debugera i prześledź co się dzieje w programie.
Gdy masz dwie takie same, licznik raz nie dolicza więc masz jedno niezapełnione miejsce,
natomiast dla <= nadpisujesz te same wartości i też powstają niezapisane elementy.
P-139032
danielpadewski
Temat założony przez niniejszego użytkownika
» 2015-10-22 17:30:57
a propo debugera to jak go uruchomic ? kiedy rizwijam "pasek" to żadnej opcji nie mam dostępnej , w opcjach wydaje mi sie ze wszystko jest ok
P-139042
carlosmay
» 2015-10-22 18:13:58
Ustaw breakpoint'a w linii, w której chcesz zatrzymać działanie programu
i uruchom go w trybie debugowania.
P-139046
« 1 » 2
  Strona 1 z 2 Następna strona