Immich byl vydán v první stabilní verzi 2.0.0 (YouTube). Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.
Český telekomunikační úřad vydal zprávy o vývoji cen a trhu elektronických komunikací se zaměřením na rok 2024. Jaká jsou hlavní zjištění? V roce 2024 bylo v ČR v rámci služeb přístupu k internetu v pevném místě přeneseno v průměru téměř 366 GB dat na jednu aktivní přípojku měsíčně – celkově jich tak uživateli bylo přeneseno přes 18 EB (Exabyte). Nejvyužívanějším způsobem přístupu k internetu v pevném místě zůstal v roce 2024 bezdrátový
… více »Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-10-01. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Jedná o první verzi postavenou na Debianu 13 Trixie.
Byla vydána nová verze 4.6 svobodného notačního programu MuseScore Studio (Wikipedie). Představení novinek v oznámení v diskusním fóru a také na YouTube.
Společnost DuckDuckGo stojící za stejnojmenným vyhledávačem věnovala 1,1 milionu dolarů (stejně jako loni) na podporu digitálních práv, online soukromí a lepšího internetového ekosystému. Rozdělila je mezi 29 organizací a projektů. Za 15 let rozdala 8 050 000 dolarů.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.17. Díky 278 přispěvatelům.
Bylo vydáno openSUSE Leap 16 (cs). Ve výchozím nastavení přichází s vypnutou 32bitovou (ia32) podporou. Uživatelům však poskytuje možnost ji ručně povolit a užívat si tak hraní her ve Steamu, který stále závisí na 32bitových knihovnách. Změnily se požadavky na hardware. Leap 16 nyní vyžaduje jako minimální úroveň architektury procesoru x86-64-v2, což obecně znamená procesory zakoupené v roce 2008 nebo později. Uživatelé se starším hardwarem mohou migrovat na Slowroll nebo Tumbleweed.
Ministerstvo průmyslu a obchodu (MPO) ve spolupráci s Národní rozvojovou investiční (NRI) připravuje nový investiční nástroj zaměřený na podporu špičkových technologií – DeepTech fond. Jeho cílem je posílit inovační ekosystém české ekonomiky, rozvíjet projekty s vysokou přidanou hodnotou, podpořit vznik nových technologických lídrů a postupně zařadit Českou republiku mezi země s nejvyspělejší technologickou základnou.
… více »Radicle byl vydán ve verzi 1.5.0 s kódovým jménem Hibiscus. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.
Společnost OpenAI představila text-to-video AI model Sora 2 pro generování realistických videí z textového popisu. Přesnější, realističtější a lépe ovladatelný než předchozí modely. Nabízí také synchronizované dialogy a zvukové efekty.
int pole [][SLOUPCE]
Dávej si bacha na to jestli je pole typu int pole[VEL_POLE]
nebo typu int pole []
je v tom docela velký rozdíl. V prvním případě se veškerá data překopírují na zásobník a změna jakékoliv hodnoty v poli má vliv pouze ve funkci. V druhém případě se jedná a předání pomocí ukazatele. Tedy předání odkazem. V tomto případě se jakákoliv změna projeví i ve zbytku programu. Pokud se o tom něco chceš dozvědět více prozkoumej standard jazyka C.
nóóóóóóó tak já to za tebe jako napišu i když vim že ty bys za mě domácák neuďál ;D
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> //TODO mužem použít math?????? #define RADKY 5 #define SLOUPCE 5 #define POCET 5 void naplnMatici(int matice[RADKY][SLOUPCE]){ int r; int s; for(r=0;r<RADKY;r++){ for(s=0;s<RADKY;s++){ matice[r][s] = rand() % 2; } } return; //FIXME nemusíme volat na konci funkce co vrací void ;D } void vypisMatici(int matice[RADKY][SLOUPCE]){ int r; int s; printf("PREVODY Z MATICE\n"); printf("----------------\n"); for(r=0;r<RADKY;r++){ for(s=0;s<SLOUPCE;s++){ printf("%5d", matice[r][s]); } printf("|"); for(s=0;s<SLOUPCE;s++){ printf("%d", matice[r][s]); } printf("\n"); } return; //FIXME tady taky ne } //Zde je funkce pro převod, bohužel nevím, jak na to void prevod(int matice[RADKY][SLOUPCE], int * pole){ int r,s; for(r=0;r<RADKY;r++) { //matematickej způsob pro debílky int cislo=0; for(s=0;s<SLOUPCE;s++) { cislo+=matice[r][SLOUPCE-s-1]*pow(2,s); } printf("%d\n",cislo); //frajerskej způsob pomocí bitovejch operací //je to uplně to samý co nadtim ale uplně jiný int cislo2=0; for(s=0;s<SLOUPCE;s++) { //děláme logickou operaci OR/NEBO s hodnotou elementu tý matice //to << ji bitově popostrčí o SLOUPCE-s-1 "doleva" //nazačátku máme v cislo2 samý nuličky takže prakticky nastavujeme jeden bit proměný //na jedničku pokud je i jednička jakože v tom řádku matice //ale tosi nejdřiv někde našprtej jestli to fakt chceš používat neni //to moc intuitivní ale zase to je jako dost praktický ;D cislo2 |= matice[r][s] << SLOUPCE-s-1; } printf("%d\n\n",cislo2); pole[r]=cislo; } } int main(){ int matice[RADKY][SLOUPCE]; int pole[POCET]; srand((unsigned)time(NULL)); naplnMatici(matice); vypisMatici(matice); prevod(matice, pole); return EXIT_SUCCESS; }
nemáš vubec zač :D :D ;D
jsme tam jakoby strčili ukazatel na to pole a tam pak z tý funkce zapisujeme. takže čistě technicky nic vracet nemusíme ale nevim co máš jako v zadání jestli třeba hlavička funkce neni od učitelskýho nějak zadaná. ale jestli tě to fakt jako znepokojuje že je void tak de uvnitř funkce deklarovat pole jako statickou proměnou a vrátit ho takhlenc jako ukazatel. si myslim že řešení s tim argumentem je ale lepšejší ;D
nóóóó a pak taky de samo použít malloc hele. na něj zachvilku určitě taky narazíš ;D
se to takhle různě musí řešit protože když vracíš ukazatel na něco z funkce tak nemáš zaručený že to něco eště vubec existuje ta pamět už mohla bejt po proběhnutí funkce uvolněná a použitá na něco jinýho. nóóóó a uplně největší zrada je že se to někdy nestane a zdrojáček normálně funguje. až jednou..... :O :O :D :D
takhle by to vypadalo s tim statickým polem
... int * prevod(int matice[RADKY][SLOUPCE]){ static int pole[POCET]; ... return pole; } int main(){ ... int * pole; ... pole=prevod(matice); ... }
se jako hluboce omlouvám všem debílkům kterejch se muj nevinej vtípek dotkul :D :D :D :D :D :D
chudák to třeba zejtra vodezdává celej tejden se stim mazal a neví si s tim rady stresem si rve vlasy a kouše nechty a ty po něm chceš aby napapíře luštil nějakou pitomou křížovku. todleto zase za urážku považuju já ;D a sorry jako že učitelskej vodved mizernou práci a já to za něj teďko dohánim. a taky si jako myslim že nejlepší učení je vidět jak něco dělá někdo další ;D
při -O3 sem tam nenaměřila žádnej rozdíl ale bez -O to bylo o +-88% rychlejší že se mi tomu ani moc nechce věřit a myslim si že sem tam něco pokazila jak už pomalu spim :O :O :O :O
Nebyl bych tak odsuzující. Pokud se někdo učí programovat, tak použít mocninu ho napadne jako první, protože to odpovídá matematickému zápisu. Teprve jak si postupně osvojuje programátorské dovednosti, dojde mu, že použití funkce pow je v tomto případě nejen zbytečné, ale spíše kontraproduktivní. Jednodušší a lepší je použít přímo mocniny 2, které navíc postupně rostou://matematickej způsob pro debílky int cislo=0; for(s=0;s<SLOUPCE;s++) { cislo+=matice[r][SLOUPCE-s-1]*pow(2,s); }
int cislo=0,m2; // v m2 jsou mocniny 2 for(s=0,m2=1;s<SLOUPCE;s++,m2*=2) { cislo+=matice[r][SLOUPCE-s-1]*m2; }No a v C se dá samozřejmě namísto násobení dvěma použít bitový posun:
int cislo=0,m2; // v m2 jsou mocniny 2 for(s=0,m2=1;s<SLOUPCE;s++,m2<<=1) { cislo+=matice[r][SLOUPCE-s-1]*m2; }Myslím, že ten trik s logickým NEBO to nijak neurychlí. Jirka
eště by to možná jako šlo zrychlit přeskakováním nul protoře nazačátku to máme samý nuličky to číslo tak je tam nemusíme zapisovat
Tiskni
Sdílej: