Avatar
honza.b4
Člen
Avatar
honza.b4:

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:

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:

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.