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

Zaimplementowanie sortowania

Ostatnio zmodyfikowano 2017-01-25 19:48
Autor Wiadomość
nowawieza
Temat założony przez niniejszego użytkownika
Zaimplementowanie sortowania
» 2017-01-25 19:38:45
Witam,
mam problem z funkcją sortowania KARCIANEGO. Potrzebuję ją tu dodać jednak znalazłem kilka wersji, a i tak nie wiem jak powinna ona wyglądać w stosunku do tych danych.
Uzupełnienie tego programu byłoby dla mnie zbawieniem :)
C/C++
#include <stdio.h>
#include <stdlib.h>
#include <string.h>



int wczytanie( int tablica[], int licznik ) {
   
   
    printf( "Podaj maksymalnie %d liczb.\n", licznik );
    int ilosc = 0;
    //wpisywanie liczb
    do {
        if( scanf( " %d", &( tablica[ ilosc ] ) ) == EOF ) {
            break;
        }
        ++ilosc;
    } while( ilosc < licznik );
   
    return ilosc;
}

//wypisanie tablicy
void pokaz_tab( int tablica[], int licznik ) {
    printf( "Dane w tablicy:\n" );
    for( int i = 0; i < licznik; ++i ) {
        printf( "%d|", tablica[ i ] );
    }
    putchar( '\n' );
}

void sortowanie( int tablica[], int licznik ) {
    // Tu wstawić sortowanie
}

int main( void ) {
    int wielkosc = 0; //wielkosc tablicy
    printf( "Podaj ilosc liczb w ciagu: " );
    scanf( "%d", & wielkosc );
    int tablica[ wielkosc ] = { 0 };
    int licznik;
   
    licznik = wczytanie( tablica, wielkosc );
    printf( "Wprowadziles %d wartosci.\n", licznik );
    pokaz_tab( tablica, wielkosc );
   
    sortowanie( tablica, wielkosc );
    printf( "Tablica po posortowaniu:\n" );
    pokaz_tab( tablica, wielkosc );
   
    return 0;
}
P-156938
nowawieza
Temat założony przez niniejszego użytkownika
» 2017-01-25 19:48:08
Jakoś sobie poradziłem ale pewnie jest błąd w zapisie gdzieś. Sprawdzicie i powiecie co mógłbym poprawić?
C/C++
#include <stdio.h>
#include <stdlib.h>
#include <string.h>



int wczytanie( int tablica[], int licznik ) {
   
   
    printf( "Podaj maksymalnie %d liczb.\n", licznik );
    int ilosc = 0;
    //wpisywanie liczb
    do {
        if( scanf( " %d", &( tablica[ ilosc ] ) ) == EOF ) {
            break;
        }
        ++ilosc;
    } while( ilosc < licznik );
   
    return ilosc;
}

//wypisanie tablicy
void pokaz_tab( int tablica[], int licznik ) {
    printf( "Dane w tablicy:\n" );
    for( int i = 0; i < licznik; ++i ) {
        printf( "%d|", tablica[ i ] );
    }
    putchar( '\n' );
}
//sortowanie
void sortowanie( int tablica[], int licznik ) {
    int pom, j;
    for( int i = 1; i < licznik; i++ )
    {
       
        pom = tablica[ i ];
        j = i - 1;
       
       
        while( j >= 0 && tablica[ j ] > pom )
        {
            tablica[ j + 1 ] = tablica[ j ];
            --j;
        }
        tablica[ j + 1 ] = pom;
    }
}

int main( void ) {
    int wielkosc = 0; //wielkosc tablicy
    printf( "Podaj ilosc liczb w ciagu: " );
    scanf( "%d", & wielkosc );
    int tablica[ wielkosc ] = { 0 };
    int licznik;
   
    licznik = wczytanie( tablica, wielkosc );
    printf( "Wprowadziles %d wartosci.\n", licznik );
    pokaz_tab( tablica, wielkosc );
   
    sortowanie( tablica, wielkosc );
    printf( "Tablica po posortowaniu:\n" );
    pokaz_tab( tablica, wielkosc );
   
    return 0;
}


[/i]
P-156939
« 1 »
  Strona 1 z 1