Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.
Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.
Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 4. snapshot Ubuntu 25.10 (Questing Quokka).
Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.
Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.
Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.
Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
Už mě to deptá. Další úkol z C++ nejde tak jak by měl.
Úkolem je realizovat program, který provede analýzu obsahu 2D matice celých čísel. Předpokládáme, že matice vznikla jako kartézský součin dvou vektorů celých čísel. Program pro zadanou matici určí tyto vektory. Vstupem programu jsou celá čísla n a m, n představuje počet řádek zadávané matice a m počet sloupců. Obě čísla jsou celá, větší nebo rovná jedné. Po zadání velikosti matice následuje n x m celých kladných čísel, která udávají vlastní obsah matice (po řádcích zadaný). Výstupem programu jsou dva vektory a a b. Vektor a má n prvků (řádky), vektor b má m prvků (sloupce). Nalezené vektory splňují následující rovnosti: a = ( a1, a2, ..., an ) b = ( b1, b2, ..., bm ) mat[i][j] = a[i] * b[j] Pro zadanou matici takový rozklad nemusí existovat. V tom případě program tuto skutečnost oznámí (viz vzor v ukázce). Protože hledání rozkladu může být časové náročné, je úloha zjednodušena tím, že: * Čísla obsažená v matici i ve vektorech a a b jsou pouze celá, kladná. * Prvek matice mat[0][0] je číslo, které vzniklo součinem dvou prvočísel. Program detekuje chybu a oznámí ji na svém standardním výstupu, pokud: * Velikost matice je zadaná nesmyslná či nesprávná. * Prvky obsažené v matici nejsou zadané jako celá kladná čísla. * Prvek matice [0][0] není číslo, které by vzniklo jako součin dvou prvočísel. Pokud vstup neodpovídá těmto podmínkám, program zobrazí chybové hlášení (viz ukázka). Chybové hlášení je oznámeno okamžitě jak je detekováno. Program nesmí používat datové struktury z STL (vector, list, ...). Jejich použití povede k chybě při kompilaci. Program je v testovacím prostředí spouštěn s omezením času a paměti. Velikost paměti s rezervou postačuje na uložení analyzované matice a výsledných vektorů v binární podobě. Celková doba běhu programu je omezena 5 sekundami pro matice obsahující řádově milióny prvků. (Referenční řešení potřebuje na výpočet čas maximálně 0.5 sec). ------ Zadejte pocet radek a sloupcu: 3 2 Zadejte prvky matice: 33 24 77 56 165 120 Nalezene reseni: a = (3, 7, 15) b = (11, 8) Zadejte pocet radek a sloupcu: 3 4 Zadejte prvky matice: 49 56 63 70 7 8 9 10 42 48 54 60 Nalezene reseni: a = (7, 1, 6) b = (7, 8, 9, 10) Zadejte pocet radek a sloupcu: 2 3 Zadejte prvky matice: 15 30 40 21 42 56 Nalezene reseni: a = (5, 7) b = (3, 6, 8) Zadejte pocet radek a sloupcu: 2 3 Zadejte prvky matice: 15 30 40 21 41 56 Reseni neexistuje. Zadejte pocet radek a sloupcu: 2 3 Zadejte prvky matice: 15 30 40 21 41 asdf Nespravny vstup. Zadejte pocet radek a sloupcu: 3 2 Zadejte prvky matice: 56 63 64 72 72 81 Nespravny vstup.
Tak jsem něco spatlal, tady mi to funguje. Zkusil jsem si to na matici 1000x1500 a fungovalo to. Jenže školnímu progtestu se to nelíbí a nadává mi, že tam mám 3 neuvolněné bloky paměti. Přitom jsem na to hodil dmalloc a ten mi ukazuje, že to uvolňené je. 100x jsem si prošel zdroják a fakt netuším, kde tu paměť neuvolňuju. Asi jsem fakt krypl, kterej nic neumí. Nechce na to někdo kouknout? Zdroják hodím jako přílohu do prvního komentáře. Hezky jsem to okomentoval, aby se to dalo číst.
Jak jsem řekl, jsem dement. Už je to vyřešené a dík patří uživateli "mich".
Tiskni
Sdílej:
Já jsem dal také dobré. Za obdiv, že rozumí tomu zadání. Já vůbec netuším, o co jde.
A to zadání jsi pochopil?
Já teda objektivně musím říct, že má zadání jsou mnohem srozumitelnější.
valgrind --leak-check=full
nepomaha?
==20149== Memcheck, a memory error detector. ==20149== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al. ==20149== Using LibVEX rev 1884, a library for dynamic binary translation. ==20149== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP. ==20149== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework. ==20149== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al. ==20149== For more details, rerun with: -v ==20149== ==20149== ==20149== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 8 from 1) ==20149== malloc/free: in use at exit: 0 bytes in 0 blocks. ==20149== malloc/free: 1,387 allocs, 1,387 frees, 76,062 bytes allocated. ==20149== For counts of detected errors, rerun with: -v ==20149== All heap blocks were freed -- no leaks are possible.Takže to je snad bez memory leaků ... maj to rozbitý.
==20385== ==20385== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 8 from 1) ==20385== malloc/free: in use at exit: 0 bytes in 0 blocks. ==20385== malloc/free: 4 allocs, 4 frees, 6,010,008 bytes allocated. ==20385== For counts of detected errors, rerun with: -v ==20385== All heap blocks were freed -- no leaks are possible.Nechápu to suppressed: 8 from 1
if (!najdiPrvniPrvky(matice, radku, sloupcu, a1, b1)) { // První prvek není násobkem 2 prvočísel cout << "Nespravny vstup." << endl; return 1; }tady podle mě neuvolňuješ
Toliko k otázce zda je lepší občas neoptimálně fungující gc a nebo občas chybující programátor . Smutné je že já to v tom kusu stále nevidím :(.
delete []matice
. S tím GC jste mě teď utřel jestli není lepší držet se zásady "každá metoda má jenom jeden 'return point' "
Počkej! Ty tomu tam nahoře vážně říkáš C++?
Třeba, namátkou:
malloc()
není operátor delete
, ale funcke free()
.struct
a class
je v C++ to samý, ale podle mě je to španě. Má to být class
.#undefine
, který nemá co oddefinovat.Toš tak. Podle mě je to odfláknutý.
Ale já vím o C++ hovno a jsem za to rád.
1) Opakem funcke malloc() není operátor delete, ale funcke free()Na jakém řádku říkám opak? Nějak to nemůžu najít.
BitArray je třída, nikoli struktura. Ano, struct a class je v C++ to samý, ale podle mě je to španě. Má to být classstruct a class v C++ není to samý. struct má totiž všechno public a třída private, pokud se neurčí jinak.
Názvy metod třídy jsou zavádějící. Ano, podle Javí notace.Jaké javí notace? Názvy metod si snad můžu vybrat dobrovolně a mně to takhle vyhovuje a psal jsem je takhle dřív, než do nás ve škole javu začli hrotit. Nejprve jsem tedy začínal velkými písmeny na začátku, ale shift moc zdržuje
Pak je tam nějaký #undefine, který nemá co oddefinovat.Je tam
#undef
a pokud kompilátoru předáte argument na definování GENERATOR (gcc -DGENERATOR), tak ho to oddefinuje.
Nemáte na mysli maticový součin?