IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.

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.