Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy
… více »LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.
Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.
Společnost SpaceX amerického miliardáře Elona Muska oznámila, že si zajistila opci buď na akvizici startupu Cursor za 60 miliard dolarů (přes 1,2 bilionu Kč) do konce letošního roku, nebo na zaplacení deseti miliard dolarů za nové partnerství s touto firmou zabývající se generováním kódů. SpaceX se dále prosazuje na lukrativním trhu s vývojářskými nástroji pro umělou inteligenci (AI). Cursor, startup zabývající se prodejem modelů AI pro
… více »Díky AI modelu Claude Mythos Preview od společnost Anthropic bylo ve Firefoxu nalezeno a opraveno 271 zranitelností.
Byla vydána nová verze 2.54.0 distribuovaného systému správy verzí Git. Přispělo 137 vývojářů, z toho 66 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 13.0. Přehled novinek v aktualizované dokumentaci a na YouTube. Stalo se tak na konferenci GrafanaCON 2026.
Na YouTube proběhl Framework [ Next Gen ] Event 2026. Společnost Framework představila nový Framework Laptop 13 Pro, vylepšení Framework Laptopu 16 a OCuLink Dev Kit pro připojení vysoce výkonných periferií jako jsou eGPU a bezdrátovou klávesnici s integrovaným touchpadem Framework Wireless Touchpad Keyboard.
Byl vydán Mozilla Firefox 150.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 150 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byl představen (reddit, 𝕏) webový prohlížeč Brave Origin. Jedná se webový prohlížeč Brave bez VPN, krypto peněženky a odměn, tj. bez funkcí, ze kterých je vývoj Brave financován. Stojí jednorázově 59,99 dolarů. Verze pro Linux je zdarma.
Ahoj vespolek, jsem zacatecnik v cecku a snazim se psat trochu chytrejsi programy. Prave u jednoho jsem se sekl a nemuzu prijit na to, v ktere casti kodu je chyba
. Pri kompilaci to nevipise nic, ani varovani, bohuzel behem spusteni to spande a vypise Neoprávněný přístup do paměti (SIGSEGV) .. pouzivam Archlinux, prejel jsem to i debuggerem a ten mi vypise, ze se jedna o chybu
Program received signal SIGSEGV, Segmentation fault.
0x00000000004005d5 in serazeni ()
... zkousel jsem to znovu prepsat, jestli jsem neudelal nejaku hrubku, ale nic, bohuzel nevim.. jsem zacatecnik, tak to prosim berte na vedomi... kod je prilozeny v souboru. Dekuji vsem za napady, pripominky, dotazy a kritiku.
j=3; nebo tot nééé r[2]=58;, a pak se zamyslet na tím, že číslování polí je od 0 po N-1 a s větším index-em se dostanete mimo alokovaný rozsah.
To kopirovani jsem prepsal na :
k=r[j];
r[j]=r[j+1];
r[j+1]=k;
U toho noveho zpusobu (nevim jak se tomu rika v cecku, v matice je to myslim mnozina vsech cisel R) je to efektivnejsi, dekuji moc za navrh.
Ohledne toho enteru, napsal jsem tam printf("\n"); nebo jste myslel neco jineho? Kazdopadne dekuji za pripominky a jsem Vam velmi vdecny, jsem o neco chytrejsi.
To printf("\n"); je v pořádku, jen trochu pomalé, v tomhle případě by úplně stačilo putchar('\n');.
Ještě jednu radu, já začínám tím že si napíšu
#include <stdio.h>
int main(void)
{
return 0;
}
a pak teprve do téhle kostry začnu psát, nebo spíš doplňovat program
i tebe se chci zeptat, jelikoz v tom mas praxi a si dobry, mival jsi podobne problemy jako ja? jen aby me to psychicky rozladilo /povzbudilo
A protožemain()nepřebírá žádné vstupní hodnoty, je vhodné to zdůraznit:int main(void), protože když tam nedáš nic, překladač automaticky předpokládá že tam má být nějakýint.
Vy nějaký takový znáte? Obávám se, že si to spíš pletete s tím, že ve starších dialektech C se při neuvedení návratového typu implicitně předpokládal int.
řádek 41: Když už máš funkci main() nadeklarovanou jako int, tak musíš také nějaký int vracet, takže tam připiš return 0;. A protože main() nepřebírá žádné vstupní hodnoty, je vhodné to zdůraznit: int main(void), protože když tam nedáš nic, překladač automaticky předpokládá že tam má být nějaký int.Tohle se dělo u návratových typů. Pokud neuvedete
void jako parametr, překladač předpokládá, že o parametrech té funkce nic neví a tedy mohou být jakékoliv. Což je u main, když ty parametry nepoužijete, vlastně pravda.
serazeni.c skompiluj ako:
gcc -Wall -g -o atest serazeni.ckde
atest bude tvoj spustitelny program. ten mozes spustit zapomoci gdb debuggeru, napriklad:
mato@foxi:(~/lair/abc)$ gdb ./atest
GNU gdb 6.1.1 [FreeBSD]
(gdb) run
Starting program: /home/mato/lair/abc/atest
Program received signal SIGBUS, Bus error.
0x0000000000400665 in serazeni (r=0x7fffffffeaf0, i=2) at abc.c:20
20 if(r[j]>r[j+1]){
(gdb)
a vidis, kde nastal problem (najskor pretecenie pola).
no, smyslem toho programu bylo porovnavat hodnoty a prehazovat je s vedlejsim (levym) prvkem v poli do te doby, dokud to nebude serazene od nejmensiho po nejvetsi... bohuzel jsem se opet zasekl a ten cyklus (upravil jsem to)
for(g=0;r[g]<r[++g];){
if(g==i){
complete=1;
break;
}
}
udela nekonecnou smycku (zajimave je, ze je vytezovano jen 1 jadro ze 4... a to jadro druhe... :D
jinak zatim dekuji za ten debugging... a kdyz jsme u te syntaxe a smyslu, jelikoz jsem zacatecnik, tak se jenom zeptam.. na psani uspesnych a funkcnich programu porebuji praxi (psat a psat) nebo na to existuje nejaka publikace? dekuji Vam.
ak som teda spravne pochopil ten program sa snazi robit bubblesort (bublinkove triedenie)? zotriedenie pola vyriesia 2 jednoduche cykly:
int a,b,temp;
for (a =0 ; a < MAX; a++) {
for (b =0 ; b < MAX-1; b++) {
if (pole[b] > pole[b+1]) { /* swap n+1 with n */
temp = pole[b];
pole[b] = pole[b+1];
pole[b+1] = temp;
}
}
}
(kde MAX je zadefinovany ako dlzka pola).
ja mam velmi daleko od dobreho programatora; ale i ten sebalepsi programator pise _obcas programy s bugmi.
kazdy zacinal na zelenej luke, zaciatky su tazke (pre niekoho viac, pre niekoho menej).treba sa naucit rozmyslat v danom jazyku - to chce cas. comu nerozumies mozes preskocit a vratit sa neskor.
drz sa tych knih co mas, tie su naozaj dobre.
#include <stdio.h>
void serazeni(int r[], int i)
{
int j, k, g;
for(j = 0;; j++) {
for(g = 0; r[g] < r[g+1]; g++) {
if(g == i-1)
return;
}
if(j == i)
j = 0;
if(r[j] > r[j+1]) {
k = r[j];
r[j] = r[j+1];
r[j+1] = k;
}
}
}
int main()
{
int i, size;
int r[] = {542, 12, 58, 10, 7};
size = sizeof(r)/sizeof(int);
serazeni(r, size);
for(i = 0; i < size; i++) {
printf("%d, ", r[i]);
}
printf("\n");
return 0;
}
Ušetřím si tak jeden cyklus a kód je o dost čitelnější. Tvůj algoritmus se zasekne v nekonečné smyčce kvůli téhle části:
if(j==i){
j=0;
}
else {
Tedy Pokud jsi prošel celé, pole vrať se na začátek, v jiném případě proveď porovnání. Neporovná se ti první a druhý (či lépe nultý a první) prvek v poli a algoritmus tak nikdy nedoběhne.
)
int pole[10]; sizeof(pole);V tomhle případě sizeof() vrátí 40 (na 64 bitové architektuře 80) protože máme pole o 10 prvcích, každý 4 byty (8 bytů) velký.
int pole[10]; sizeof(pole)/sizeof(int);Vrátí počet prvků v poli děleno velikostí jednoho prvku - význam je předpokládám jasný.
int pole[10]; sizeof(pole)/sizeof(pole[0]);čili velikost celého pole děleno velikostí prvního prvku v poli.
na 64 bitové architektuře 80
Jak na které. Třeba u gcc na x86_64 je to 40.
long, kde u LLP64 a LP64 (Windows a Linux) tento rozdíl je.
Tiskni
Sdílej: