Po vlastních microSD kartách nabízí nově Raspberry Pi také vlastní NVMe SSD disky. Samostatně i v sadách s M.2 HAT+.
Byla zveřejněna (𝕏) Zpráva o činnosti Digitální a informační agentury (DIA) za rok 2023 (pdf). Začíná slovy ředitele: "Vznik Digitální a informační agentury (DIA) je v posledních letech možná jedním z nejvýznamnějších kroků, který dodá potřebný impuls digitalizaci státní správy."
Vývojáři AlmaLinuxu představili AlmaLinux OS Kitten 10, tj. vývojovou verzi AlmaLinux OS 10 vycházejícího z CentOS Stream 10. Přehled novinek v poznámkách k vydání. Proč Kitten? Verze AlmaLinux OS jsou pojmenované podle kočkovitých šelem. Z kotěte vyroste další kočka.
Kryptografická knihovna OpenSSL byla vydána v nové verzi 3.4. Přehled změn na GitHubu.
Bylo objeveno nové největší prvočíslo. Jedná se o Mersennovo prvočíslo známé též jako M136279841. To znamená, že v binární formě je prvočíslo tvořeno 136 279 841 jedničkami. Objeveno bylo v rámci distribuovaného výpočetních projektu GIMPS (Great Internet Mersenne Prime Search). Zajímavostí je, že na rozdíl od předchozích takto objevených prvočísel nebylo objeveno pomocí CPU, ale na grafické kartě NVIDIA A100 s pomocí programu Gpuowl.
Protokol MQTT (Wikipedie) dnes slaví 25 let (Mastodon, 𝕏). První publikovaná specifikace je z 22. října 1999.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.4. Přehled novinek na GitLabu. Z novinek lze zmínit podporu telefonu Google Pixel 7. Na stránkách Murena lze koupit Murena Pixel 7.
Připojte se ve středu 30. 10. 2024 od 10:00 do 12:00 na náš webinář "Řízení přístupu do PostgreSQL prostřednictvím externího autentizačního providera" (registrace zdarma) a naučte se, jak nastavit ověřování pomocí GSSAPI pro bezpečný přístup k databázím (Microsoft Active Directory nebo FreeIPA). Záznam předchozího webináře "Co je nového v PostgreSQL 17" můžete zhlédnout zde.
… více »Byla vydána nová verze 0.55 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
Dle plánu bylo dnes vydáno Factorio 2.0 a Factorio: Space Age, tj. aktualizace 2.0 počítačové hry Factorio (Wikipedie) oficiálně běžící také na Linuxu a velké vesmírní rozšíření Factorio: Space Age.
################## # ########### # # # ###### ###### ###### # # ## ##################Ve vstupních datech je stěna bludiště zadávána jako znak '#' (mřížka) a volné políčko jako znak mezera. Bludiště může mít jakýkoliv tvar, nemusí to být pouze obdélník. Pokud řádky nebudou stejně dlouhé, doplní se kratší řádky volným místem na délku nejdelšího řádku. Můžeme předpokládat, že pokud se soubor podaří otevřít, tak v něm bude korektně zadané bludiště. Muj (pseudo)algoritmus, resp planovany postup je nasledujici:
1) nacist txt do char buffer[] 2) spocitat radky (y) a delku nejdelsiho radku (x) 3) vytvorit v allegru display velikosi y krat x 4) definovat prvek bitmapy 10x10 pixelu 5) jeden prvek = jeden znak '#' 6) Kontroluj kazdy prvek v bufferu, pokud narazis na znak, tak vykresli bitmapu: if buffer[] = '#' vykresli prvek bitmapy jdi na dalsi prvek bufferu else zkontroluj dalsi prvek v bufferuKnihovna allergo5 je rozsahla, byl bych proto rad, kdyby mi nekdo poradil, jake fce by se nejvic hodily. Z toho, co o allegru zatim vim, se domnivam, ze budu muset pouzit fci create_display o velikosti strlen(nejdelsi radek) * 10(rozmer bitmapoveho prvku). Potom vytvorit bitmapu 10x10. Ma otazka zni, jake fce budu potrebovat na tisknuti bludiste? Nasel jsem fci al_put_pixel, ktera tiskne pixel na urcitou souradnici. Mam si tedy vyhradit pri kazdem nacteni '#' bitmapu 10x10, tu zaplnit pixely dane barvy, a pak jit o policko dal? Nebo je tu jina, mene pracna moznost?
Řešení dotazu:
#define TILE_H 10 #define TILE_W 10 int main(void){ al_init(); al_init_image_addon(); ALLEGRO_DISPLAY *display = NULL; const int BOUNCER_SIZE = 10; ALLEGRO_BITMAP *tile = NULL; //ZACATEK - nacte text ze souboru FILE *in; FILE *out; char buffer[1204]; buffer[0] = 0; char input[1204]; int i; int vyska = 0; int delka = i = 0; float dx = 0.0; float dy = 0.0; char c; in = fopen ("input.txt" , "r"); if (in == NULL) perror ("Error opening file"); while( fgets(input , 800 , in) != NULL ){ //kopiruje data z jednoho souboru do druheho strcat(buffer, input); i = strlen(input); i-= 1; //pocita delku nejdelsiho radku if (i > delka) delka = i; //pocet radku vyska++; } fclose (in); delka *= 10; vyska *= 10; display = al_create_display(delka, vyska); if(!display) { fprintf(stderr, "failed to create display!\n"); return -1; } tile = al_create_bitmap(TILE_H, TILE_W); if(!tile) { fprintf(stderr, "failed to create bouncer bitmap!\n"); al_destroy_display(display); return -1; } al_clear_to_color(al_map_rgb(255,255,255)); al_set_target_bitmap(tile); al_clear_to_color(al_map_rgb(0,0,0)); al_set_target_bitmap(al_get_backbuffer(display)); in = fopen ("input.txt" , "r"); do { c = getc (in); if (c == '#')al_draw_bitmap(tile, dx, dy, 0); dx+=10; if (c == '\n'){ dy+= 10; dx = 0; } } while (c != EOF); al_save_bitmap("screen.bmp" , al_get_backbuffer(display)); al_destroy_bitmap(tile); al_destroy_display(display); return 0; }
Tiskni Sdílej: