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

Sortowanie bąbelkowe liczb ujemnych

Ostatnio zmodyfikowano 2012-09-14 20:43
Autor Wiadomość
tirou
» 2012-09-10 22:04:27
C/C++
void sort( int d[], int size ) {
    bool p = true;
    while( p ) {
        p = false;
        for( int i = 0; i < 10; i++ ) {
            if( d[ i ] > d[ i + 1 ] ) {
                swap( d[ i ], d[ i + 1 ] );
                p = true;
            }
            size--;
        }
    }
}

int min_max( int d[], int size, int & maximum ) {
    int min = d[ 0 ];
    for( int i = 1; i < size; i++ ) {
        if( d[ i ] > maximum ) maximum = d[ i ];
       
        if( d[ i ] < min ) min = d[ i ];
       
    }
    return min;
}

void swap( int & a, int & b ) {
    int temp = a;
    a = b;
    b = temp;
}

Masz tutaj sortowanie, znajdowanie min i max w oddzielych funkcjach. Przeanalizuj to dobrze.
P-64772
withelm
» 2012-09-10 22:46:03
@tirou, zepsułeś chłopakowi zabawe ;(, takie coś się pokazuje jak jego kod bedzie syfny, ale bedzie dawać poprawne wyniki.
btw, @Verloren, ten kod tirou nie jest za baydzo optymalny wiec nie kieruj sie nim za barydzo
P-64774
tirou
» 2012-09-11 10:36:17
Dlaczego nie jest optymalny ? :) (jesli mge zapytac? )
P-64787
withelm
» 2012-09-11 15:58:57
zobacz, sortuje sobie tablice prawda O(n^2)
teraz wyszukujesz sobie min/max to przechodzisz po każdym elemencie tablicy O(n)
wiec pytanie po co sortowac skoro porzebne skoro tak czy siak przechodzisz po całej tablicy?
P-64792
tirou
» 2012-09-12 11:50:28
Bo kolega napisał, że chce posortować tablicę "i" znaleźć min/max. Chodzi tobie o to, że możnato zrobić za 1 razem?
P-64821
akwes
» 2012-09-12 12:20:57
Po cholerę szukać maksymalnego i minimalnego elementu w tablicy, która jest posortowana? Przecież wtedy to zawsze będzie pierwszy i ostatni element...

@autor tematu

Chcesz posortować tablicę, czy znaleźć min i max w tablicy ;> ?
P-64824
Verloren
Temat założony przez niniejszego użytkownika
» 2012-09-14 20:43:44
Hej, widzę że się rozkręciliście z pomocą więc wielkie dzięki wszystkim tu zebranym :P Co do pytania wyżej to chodziło mi o znalezienie największej oraz najmniejszej liczby, ale rozwiązanie już mam więc nie musicie się męczyć ^^

Jeżeli to nie problem to powiedzcie czy jest dobrze:
C/C++
int MAX( int T[], int zakres )
{
    int i, p_max, MAX;
    p_max = T[ 0 ];
    for( i = 0; i < zakres; i++ )
    if( T[ i ] > p_max )
         p_max = T[ i ];
   
    MAX = p_max;
    return MAX;
}
P-64933
1 « 2 »
Poprzednia strona Strona 2 z 2