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.

Diskuze: [C] Nefunkcni tridici algoritmus

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
honza.b4
Člen
Avatar
honza.b4:25.1.2014 20:04

Ahojte vsichni. Nefunguje mi tento zdrojak. Pokazde to na vstupu hodi chybu Segmentation fault. Nevim jestli to na to ma nejaky vliv, ale pouzivam linux.

#include <stdio.h>
#include <string.h>

int *array;
int size,i,j,tmp;

void setridit(){
    for(i = 0; i < size - 1; i++){
        for(j = 0; j < size - i - 1; j++){
            if(array[j+1] < array[j]){
                tmp = array[j+1];
                array[j+1] = array[j];
                array[j] = tmp;
            }
        }
    }
}

int main(void)
{
    printf("Zadejte array: ");
    scanf("%d",array);
    printf("Zadejte size: ");
    scanf("\n%d", &size);
    printf("%d", array[j]);
    setridit();
    return 0;
}

diky za pomoc

Editováno 25.1.2014 20:04
 
Odpovědět
25.1.2014 20:04
Avatar
MrPabloz
Člen
Avatar
MrPabloz:25.1.2014 20:35

Scanf("%d",&array); by to mělo vyřešit. V nejhorším si to odkrokuj a nápis zde, na kterém radku ti to padne.

PS: sry píšu z mobilu.

Editováno 25.1.2014 20:37
Nahoru Odpovědět
25.1.2014 20:35
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
MrPabloz
Člen
Avatar
MrPabloz:25.1.2014 20:40

Už nejde edit tkze jinak, skus kdyžtak na začátek mainu dopsat array=(Int )malloc(size(In­t)velikost pole)); a první si ber sítě a ne to pole.
tedy vymen scanf array a scanf Size a před scanf array dej to s malloc a na konci programu nezapomeň pole free. A nacitej pole po číslech ve foru, ne takhle, načte ti to jen jedno číslo, není to jak u pole charu :)

Editováno 25.1.2014 20:43
Nahoru Odpovědět
25.1.2014 20:40
Harmonie těla a duše, to je to, oč se snažím! :)
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 3 zpráv z 3.