NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
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.