Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se C a C++. Zároveň využij akce až 80 % zdarma při nákupu e-learningu - více informací.
discount week 80 + hiring
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
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
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.