Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Pedant: system("pause") ... je windowsoidný trik, aby commandline-ový program na windowsoch neschoval okno hneď ako skončí. Radšej by som videl niečo ako printf("press enter"); scanf("%*s");Lepsie je:
puts("Stlacenim klavesy program skonci.");
getchar();
se tady jako nějak roztrhl s polema pytel nebo co :D :D :D :D
nóóóóóóóóóó jako já za tede domácák udělám ale ty budeš pro mě taky muset něco udělat. potřebuju na středu 10ti až 15ti minutovou prezentaci v powerpointu s patnácti slajdama na děják. je to něco s husitama žiškou bytvou na žiškově a tak dál. bereš?? jestli jo tak tady je tvuj zdrojáček!!!! ;D
jo a pozor na místa kde je TODO nebo FIXME tam je jako potřeba něco ještě udělat nebo opravit ;D
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//předpokládám že políčko není seřazený takže musíme projet celý :'(
//kdybys to chtě někdy jako optimalizovat tak by seřatení podle velikosti měl bejt tvuj první krok si myslim protože s tim se pak dá zajímavě čarovat
//prvky větší než value
void showGreaterThan(int * arr,unsigned int size,int value)
{
printf("Vypis prvku pole vetsich nez %d!!!\n",value);
unsigned int curr;
for(curr=0;curr<size;curr++)
if(arr[curr]>value)
printf("%d ",arr[curr]);
printf("\n");
}
//prvky menší než value
void showLessThan(int * arr,unsigned int size,int value)
{
printf("Vypis prvku pole vetsich nez %d!!!\n",value);
unsigned int curr;
for(curr=0;curr<size;curr++)
if(arr[curr]<value)
printf("%d ",arr[curr]);
printf("\n");
}
//prvky z intervalu
void showInterval(int * arr,unsigned int size,int intervalMin,int intervalMax)
{
printf("Vypis prvku pole z intervalu <%d;%d> !!!\n",intervalMin,intervalMax);
unsigned int curr;
unsigned int sum=0;
for(curr=0;curr<size;curr++)
//pokud je jako hodnota větší nebo rovna min a současně menší nebo rovna max
if(arr[curr]>=intervalMin && arr[curr]<=intervalMax)
{
printf("%d ",arr[curr]);
sum++;
}
printf("\nBylo nalezeno %u prvku z intervalu <%d;%d> !!!!!\n",sum,intervalMin,intervalMax);
}
//si jako myslim že se po nás chce dělitelnost bezezbytku
void findByDivisibility(int * arr,unsigned int size,int value)
{
printf("Vypis prvku pole delitelnych bezezbytku cislem %d!!!\n",value);
unsigned int curr;
for(curr=0;curr<size;curr++)
if(arr[curr]%value==0)
printf("%d ",arr[curr]);
printf("\n");
}
// FIXME otázečce 3. uplně dobře nerozumim :'( se jako po nás chce abysme odevšech prvků jakože něco odečetli nebo je jakože něčim vynásobili a určili pak průměr nebo co jako dopytle?!?! :'( :'( :'(
//nebo máme jako všecho odsebe odečíst nebo to jako do sebe všecko snásobit?!?!?!
//ať si ten pitomej kantor jako zajde na kurz srozumitelnýho psaní zadání jako!!!! vyřiď mu jako že ho tam posílá gréta a vraž mu takovou facku až mu odlítnou brejle z vokna!!!!!! tak!!!!!! mi bylo jako jasný že to bude nějaká pitomina už když jsem četla v zadátí to *.docx jako!!!! >:C
void strangeFunction(int * arr, unsigned int size)
{
printf("Veliky veci se tady dejou jako!!!!\n");//FIXME
//prvni prvek zpracujeme pred cyklem
int sum=arr[0];
int product=arr[0];//jakože součin. ten nemuze byt na zacatku nula
int diff=arr[0];//ze zadani neni jasny co v 'diff' ma bejt nazacatku
unsigned int curr;
for(curr=1;curr<size;curr++)
{
sum+=arr[curr];
diff-=arr[curr];
product*=arr[curr];
}
int avg=sum/size;
printf("\nRozdil: %d",diff);
printf("\nSoucin: %d",product);
printf("\nPrumer: %d",avg);
printf("\n");
}
void findMax(int * arr,unsigned int size)
{
printf("Hledam maximum!!!\n");
unsigned int curr;
unsigned int maxCurr=0;//pozice maxima
int max=arr[0];//maximální hodnota zatim
for(curr=1;curr<size;curr++)
{
if(arr[curr]>max)
{
max=arr[curr];
maxCurr=curr;
}
}
//normální lidi nejsou moc zvyklí počítat od nuly proto curr +1 ;D
printf("Maximalni hodnota v poli je %d a je to %u. prvek pole!!!!\n",max,maxCurr+1);
}
void findMin(int * arr,unsigned int size)
{
printf("Hledam minimum!!!\n");
unsigned int curr;
unsigned int minCurr=0;//pozice minima
int min=arr[0];//minimální hodnota zatim
for(curr=1;curr<size;curr++)
{
if(arr[0]<min)
{
min=arr[curr];
minCurr=curr;
}
}
//normální lidi nejsou moc zvyklí počítat od nuly proto curr +1 ;D
printf("Minimalni hodnota v poli je %d a je to %u. prvek pole!!!!\n",min,minCurr+1);
}
int main()
{
int i,n,s,max,min,soucet,kolik;
float prumer;
printf("Zadej pocet prvku pole n = ");
scanf("%d", &n);printf("\n");
int p[n]; //Pole n celých čísel.
//Hodnoty se náhodně vygenerují z intervalu <1,100> .
srand((unsigned) time(NULL));
for (i=0;i<n;i=i+1)
p[i]=(rand()%100)+1;
// 0.
//Výpis pole na řádek.
//si myslim jak je jako ten kantor pitomej tak stopro bude chtít nějaký jakože formátování si myslim. už podle tý zamidrákovaný egocentrický větičky 'co vidím na obrazovce' :D :D
printf("Prvky pole jsou: ");
for (i=0;i<n;i=i+1)
printf("%4d",p[i]);
s=0;
// 1.
//Vypíše sudé prvky z pole
printf("\n");printf("\n");
printf("Sude prvky pole jsou: ");
for (i=0;i<n;i=i+1)
if ((p[i]%2)==0) {
printf("%4d",p[i]);
s=s+1;
}
// 1.
//Určení počtu sudých prvků
printf("\n");printf("\n");
printf("Pocet sudych prvku pole je %d ",s);
printf("\n");printf("\n");
findMax(p,n);
findMin(p,n);
strangeFunction(p,n);
// 4.
//Vypíše prvky podle podmínky větší než zadaná hodnota
printf("Hledani vetsich prvku nez zadana hodnota\n");
printf("koukej zadat hodnotu ucitelskej!!!!!\n");
scanf("%d",&kolik);
showGreaterThan(p,n,kolik);
// 4.
//Vypíše prvky z intervalu zadané uživatelem a určí jejich počet
//TODO možná by bylo dobrý hlídat jestli je minimum skutečně jako menší než maximum
int intervalMin,intervalMax;
printf("Hledani prvku z intervalu\n");
printf("Zadej minimalni hodnotu intervalu ucitelskej: \n");
scanf("%d",&intervalMin);
printf("Zadej maximalni hodnotu intervalu ucitelskej: \n");
scanf("%d",&intervalMax);
showInterval(p,n,intervalMin,intervalMax);
// 5.
//Nalezne prvek podle zadane pozice
//FIXME musis si pohlidat aby kolík byl platnej index toho políčka
//nemůže bejt menší než nula a větší nebo roven dýlky pole
//návod máš vtý pojistce dělení pole
printf("\n");
printf("Zadej kolikaty prvek z pole chceme: ");
scanf("%d", &kolik);
printf(" %d. prvek z pole je: %d",kolik, p[kolik]);
printf("\n");
// 5.
//Výpis prvků z pole dělitelné uživatelem
printf("Hledani prvku bezezbytku delitelnych hodnotou zadanou kantorem\n");
printf("koukej zadat hodnotu ucitelskej!!!!!\n");
scanf("%d",&kolik);
int debilityCounter=0;
while(kolik==0)
{
if(debilityCounter++<10)
{
printf("Nulickou delit nejde ty jeden kantore hloupej pitomej jeden!!!\nZadej znova a tentokrat poradně!!!\n");
scanf("%d",&kolik);
}
else
{
printf("s tebou to je marny ucitelskej. Cau!!!!\n");
return 0;
}
}
findByDivisibility(p,n,kolik);
printf("\n");
system("pause"); //TODO neni to tady zbytecny?? to je něco pro windows 'terminál' ??
return 0;
}
zejtra je už středa jako :O
vidiš to a přitom by tě jako mělo trápit že se věci nedějou v co nejmíň cyklech než jakože typedef slovíčkaření ;D
vylepšim když bude prezentace na zejtra na děják ;D
Tiskni
Sdílej: