abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Bezpečnostní upozornění

    Výzkumníci ukazují, jak mohou otevřené tunely a IPv6 Extension Headers synchronizovat pakety do krátkých provozních špiček. V kontrolovaném experimentu naměřili přes 180násobnou koncentraci paketového toku vůči průměrné rychlosti odesílání — nikoli 180násobné zvětšení objemu dat. Článek obsahuje metodiku, limity měření i mitigace pro GRE, IPIP a další tunely.

    vencour | Komentářů: 1
    včera 12:44 | Pozvánky

    Po velkém úspěchu prvního MobileLinux Hackdaye se vracíme do Českých Budějovic s druhým ročníkem. V pátek 30. října 2026 od 10:00 se v prostorách Jihočeské univerzity uskuteční Embedded & MobileLinux Hackday #2. Těšit se můžete na témata jako Immutable Linux na telefonech (BengalOS), U-Boot a upstream vývoj, AI optimalizace pro embedded systémy nebo otevřený hardware. Nebude chybět praktické hackování, sdílení zkušeností a možnost … více »

    lkocman | Komentářů: 0
    včera 00:44 | Bezpečnostní upozornění

    Dne 21. října 2026 vydal projekt Node.js bezpečnostní aktualizace opravující deset zranitelností, včetně jedné umožňující potenciální vzdálené spuštění kódu (RCE). Nejzajímavější je CVE-2026-111497, chyba dekodéru Brotli, kterou objevili výzkumníci využívající OpenAI Codex Security. Chyba je v nativním dekodéru Brotli, nikoli v samotném JavaScriptu. Speciálně vytvořený komprimovaný vstup způsobí, že dekodér zamění

    … více »
    vencour | Komentářů: 14
    23.10. 17:44 | IT novinky

    Francouzský výrobce kabelů Nexans upozornil na napjaté dodávky elektrických kabelů. Výstavba nové výrobní linky pro některé typy kabelů může trvat přibližně tři roky. Datacentra potřebují rozsáhlé nízkonapěťové a středněnapěťové rozvody. Poptávka roste současně s modernizací elektrických sítí. Někteří odběratelé proto uzavírají výrazně delší dodavatelské smlouvy [Reuters].

    vencour | Komentářů: 14
    23.10. 14:44 | Zajímavý projekt

    Představena byla (𝕏) virtuální platforma FLYBENCH FPV, která nováčky provede zapojením a konstrukcí dronů.

    Ladislav Hagara | Komentářů: 5
    23.10. 04:11 | Nová verze

    Google Chrome 156 byl prohlášen za stabilní. Přehled novinek v poznámkách k vydání. Opraveno bylo 353 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    22.10. 20:22 | IT novinky

    Indická společnost eMudhra po bezpečnostním incidentu, tj. kompromitaci soukromých klíčů osmi mezilehlých certifikátů své certifikační autority, opouští globální byznys s SSL/TLS certifikáty.

    Ladislav Hagara | Komentářů: 4
    22.10. 15:44 | Bezpečnostní upozornění

    Dle Phoronixu zveřejnila společnost Trend Micro prostřednictvím programu Zero Day Initiative (ZDI) několik hlášení bezpečnostních zranitelností přímo na veřejném mailing listu LKML, přestože některé chyby dosud nemají opravu začleněnou do hlavní větve jádra. Mezi hlášenými problémy jsou dvě zranitelnosti s hodnocením CVSS 9.0, týkající se SMB Direct a KSMBD, které mohou umožnit vzdálené spuštění kódu. Další hlášení se týkají … více »

    vencour | Komentářů: 0
    22.10. 15:33 | Nová verze

    Správce hesel KeePassXC byl vydán ve verzi 2.8.0. Přechází na Qt 6, podporuje vkládání hesel s Waylandem, rychlé odemykání pomocí Polkitu nebo možnost nastavení klávesových zkratek (seznam změn).

    ʚĭɞ 🍉 | Komentářů: 0
    22.10. 15:22 | Nová verze

    Databáze DuckDB (Wikipedie) byla vydána ve verzi 2.0.0 LTS. S kódovým názvem Cinnamon Teal (čírka skořicová). S vyladěným protokolem Quack.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2910 hlasů
     Komentářů: 33, poslední 20.10. 23:44
    Rozcestník

    Dotaz: Nefunkcni tridici algoritmus v C (segmentation fault)

    Bundas avatar 25.1.2014 20:02 Bundas | skóre: 14 | Pardubice
    Nefunkcni tridici algoritmus v C (segmentation fault)
    Přečteno: 606×
    Nefunguje mi tento program. Pokazde to na vstupu hodi chybu segmentation fault.
    
    
    
    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;
    }
    
    
    Nevite v cem je chyba?
    Abe the Messiah has come.

    Odpovědi

    25.1.2014 20:18 lofcek
    Rozbalit Rozbalit vše Re: Nefunkcni tridici algoritmus v C (segmentation fault)
    No vieme, preco sa pytas? Chyba je v tom, ze pole nealokujes, ale pouzivas. Pole array nie je inicializovane, keby to bola lokalna premenna (tak by to napisal profik), tak by ukazovala na nahodne miesto v pamati.

    Kedze vsak je globalna, tak ukazuje na adresu nula (null) a teda pristup array[0] zarucene spadne.

    Mimochodom hovori Ti nieco gdb. Je to super nastroj na hladanie takychto chyb v programe.
    25.1.2014 20:25 potato
    Rozbalit Rozbalit vše Re: Nefunkcni tridici algoritmus v C (segmentation fault)
    Nefunguje to proto, že je to totální nesmysl. Už na řádku

    scanf("%d",array);

    který nevím, co přesně čekáš, že má dělat, to ve skutečnosti zkusí zapsat jedno(!) (viz popis scanf()) číslo na náhodné(!) místo v paměti, kam ukazuje neinicializovaný(!) pointer array. A přitom nejspíš segfaultne.

    Nemá smysl se ptát desetkrát tady v diskusi, proč nefungují programy, které nemají hlavu ani patu. Pořiď si prosím Učebnici jazyka C od Herouta, přečti si ji, a pokus se pochopit syntaxi C a práci s pamětí.
    25.1.2014 22:10 MadCatX
    Rozbalit Rozbalit vše Re: Nefunkcni tridici algoritmus v C (segmentation fault)
    Zkus si pohrát s tímhle. Až tu bude jasné, jak funguje pole, napiš třeba InsertSort
    #include <stdio.h>
    #include <stdlib.h>
    
    #define W 3
    #define H 3
    
    void print_array(int** array, size_t h, size_t w)
    {
    	size_t i, j;
    
    	for (i = 0; i < h; i++) {
    		for (j = 0; j < w; j++) {
    			printf("%d ", array[i][j]);
    		}
    		printf("\n");
    	}
    	
    }
    
    int main(int argc, char* argv[])
    {
    	size_t x, y;
    	int val;
    	int** array; //<- Dvourozměrné pole
    
    	array = calloc(H, sizeof(int*)); // Alokuj řádky pole
    	for (y = 0; y < H; y++) {
    		array[y] = calloc(W, sizeof(int)); // Pro každý řádek alokuj sloupce
    	}
    
    	// Naplň pole
    	for (x = 0; x < H; x++) {
    		for (y = 0; y < W; y++) {
    			array[x][y] = (3*x) + y + 1;
    		}
    	}
    
    	print_array(array, H, W);
    
    	printf("Zadej pozici prvku: ");
    	scanf("%u %u", &x, &y);
    
    	if (x >= H || y >= W) {
    		printf("Neplatne zadani!\n");
    		return 1;
    	}
    
    	printf("Zadej hodnotu: ");
    	scanf("%d", &val);
    	array[x][y] = val;
    	
    	print_array(array, H, W);
    
    	return 0;
    }
    
    [*] Vím, že "int** x" a "int x[][]" není totéž, ale pro tyto účely je to IMHO fuk.
    [**] VIM a touchscreenová klávesnice je fakt vynález pekelníkův...
    Bundas avatar 25.1.2014 23:14 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: Nefunkcni tridici algoritmus v C (segmentation fault)

    co znamena size_t 3 ?

    -----------------------------------------------------

    if (x >= H || y >= W) {
            printf("Neplatne zadani!\n");
            return 1;
        }

    proc je tam return 1 ?

    Abe the Messiah has come.
    25.1.2014 23:51 ironman
    Rozbalit Rozbalit vše Re: Nefunkcni tridici algoritmus v C (segmentation fault)
    size_t reprezentuje unsigned int tedy int bez zaporne casti.

    Proc return 1? protoze dojde k uknoceni programu v dusledku nejake chyby. Viz navratove hodnoty napriklad zde
    kozzi avatar 26.1.2014 00:29 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Nefunkcni tridici algoritmus v C (segmentation fault)

    Prosim te nechces uz konecne dat pokoj? Ja chapu ze ti je jen 14 let, ale to te neospravedlnuje k tomu aby si tu psal tolik hoven. Zkus prosimte chvili prvni stravit studiem a ctenim knizek. Pripadne hledanim reseni. A az kdyz po te neuspejes tak se zeptat. Dekuji.

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Jardík avatar 26.1.2014 22:33 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Nefunkcni tridici algoritmus v C (segmentation fault)

    Někteří jsou možná ošklivý a zbytečně ti nadávaj, ale v podstatě mají pravdu. Měl bys nejdřív začít nějakými základy, jako co je to proměnná, jak do ní uložit hodnotu, jaké v C existují číselné typy, čím se liší, kdy se každý použije, co je to struktura. Pak asi nastuduj nějaké to řízení programu, jako podmínky, cykly. Pak řeš, co je to ukazatel, jak se s nimi pracuje, a pak teprve řeš pole, dynamickou alokaci.

    Věřím v jednoho Boha.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.