NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.
Avatar
ra3sk
Člen
Avatar
ra3sk:14.3.2016 19:47

Ahoj, mám problém. Triedim pole s bubble sortom. Roztriedi sa mi to a v tom prvom výpise mám na výstupe vždy po najväčšom čísle nejaké menšie. Poradte mi prosím ako to vyriešiť. Díky.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
    srand(time(NULL));

  int pole_cisel[50],i,j,pom,pole_jednociferne[50],pole_dvojciferne[50],k=0,h=0,pocitadlo_jednociferne=0,pocitadlo_dvojciferne=0;
    for(i=0;i<50;i++){
        pole_cisel[i]=rand()%100;
        if (pole_cisel[i]/10==0){
            pole_jednociferne[k]=pole_cisel[i];
            pocitadlo_jednociferne++;
            k++;
        }
        else{
            pole_dvojciferne[h]=pole_cisel[i];
            pocitadlo_dvojciferne++;
            h++;
        }
    }
    for (i=0;i<50;i++) {
        printf("%d\n",pole_cisel[i]);
    }
    for(i=0;i<49;i++){
        for(j=0;j<48-i;j++){
            if(pole_cisel[j]>pole_cisel[j+1]){
                pom=pole_cisel[j];
                pole_cisel[j]=pole_cisel[j+1];
                pole_cisel[j+1]=pom;
            }
        }
    }
    printf("\n\n\n\n\n");
    for (i=0;i<50;i++) {
        printf("%d\n",pole_cisel[i]);
    }

    printf("\n\n\n\n\n");
        printf("%d\n",pocitadlo_jednociferne);


    printf("\n\n\n\n\n");
        printf("%d\n",pocitadlo_dvojciferne);

    printf("\n\n\n\n\n");
    for (i=0;i<pocitadlo_jednociferne;i++) {
        printf("%d\n",pole_jednociferne[i]);
    }
    printf("\n\n\n\n\n");
    for (i=0;i<pocitadlo_dvojciferne;i++) {
        printf("%d\n",pole_dvojciferne[i]);
    }
    for(i=0;i<pocitadlo_jednociferne;i++){
        for(j=0;j<pocitadlo_jednociferne-i-1;j++){
            if(pole_jednociferne[j]>pole_jednociferne[j+1]){
                pom=pole_jednociferne[j];
                pole_jednociferne[j]=pole_jednociferne[j+1];
                pole_jednociferne[j+1]=pom;
            }
        }
    }
    printf("\n\n\n\n\n");
    for (i=0;i<pocitadlo_jednociferne;i++) {
        printf("%d\n",pole_jednociferne[i]);
    }

    for(i=0;i<pocitadlo_dvojciferne;i++){
        for(j=0;j<pocitadlo_dvojciferne-i-1;j++){
            if(pole_dvojciferne[j]>pole_dvojciferne[j+1]){
                pom=pole_dvojciferne[j];
                pole_dvojciferne[j]=pole_dvojciferne[j+1];
                pole_dvojciferne[j+1]=pom;
            }
        }
    }
    printf("\n\n\n\n\n");
    for (i=0;i<pocitadlo_dvojciferne;i++) {
        printf("%d\n",pole_dvojciferne[i]);
    }
        return 0;
}
 
Odpovědět
14.3.2016 19:47
Avatar
ra3sk
Člen
Avatar
Odpovídá na ra3sk
ra3sk:14.3.2016 20:33

Už som na to prišiel. V tom cykle na triedenie som mal 48 namiesto 49.

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
14.3.2016 20:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.