Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.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 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
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?