Diskuze: Extremy v Matici
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 22 zpráv z 22.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.


Kód nechápu a nechápu, proč jej nemáš mezi tagy code...
for (int x = 0; x < delkaRadku; x++)
for (int y = 0; y < pocetRadku; y++)
if (matica[x][y] > max)
max = matica[x][y];
else if (matica[x][y] < min)
min = matica[x][y];
http://mathworld.wolfram.com/…yMinors.html
private float CalculateDeterminant(float[,] a, int n)
{
float det = 0;
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++)
{
det = a[j, i] / a[i, i];
for (int k = i; k < n; k++)
a[j, k] = a[j, k] - det * a[i, k];
}
det = 1;
for (int i = 0; i < n; i++)
det = det * a[i, i];
return det;
}
Console.WriteLine("Zadej délku dvourozměrné matice.");
int n = 1;
int.TryParse(Console.ReadLine(), out n);
float[,] matice = new float[n,n];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
matice[i,j] = j + 1;
MessageBox.Show(CalculateDeterminant(matice, n - 1) + "");
Není to úplně správně, ale alespoň to nemáš tak zadarmo... 
mam taku otazocku, vyskytol sa mi pri semestralnej praci taky mensi problem, mam nakodovanych cca 100 riadkov ale program sa spusti iba asi do 70 riadku a potom uplne ignoruje dalsie veci, a este mi tam treba dalsich 80-100 riadkov odhadujem
Kdyby jsi dělal ve vyšším jazyku jako třeba C#, měl by jsi o dost jednodušší život. Viz. analýza kódu při stavění programu...
Kdyby to dělal ve vyšším jazyku, například v Octave, měl by to na jeden krátký řádek. Takhle se musí patlat s cykly.
tak mi ho pošli nebo ho hoď přímo sem
něco s tím provedeme
zdravim opat ja
mam taky
mensi problem, ked spravim dve funkcie (dvoj rozmerne polia - matica) tak mi ich
nechce v hlavnom programe spocitat, odcitat a pod. neviete co za tym moze byt
??
int matA()
{
int i,j,m=3,n=3, maticaA[m][n];
for(i = 0; i < 3 ; i++)
{
for(j = 0; j < 3; j++)
{
printf("A[%d,%d] ",(i+1),(j+1));
scanf("%d",&maticaA[i][j]);
}
}
}
Založíš to pole v hlavním programu a funkci ho předáš odkazem.
Také ho můžeš vytvořit ve funkci jako objekt a předat volající funkci (hlavnímu programu) returnem. Tohle považuji za čistější řešení.
Když ho ale vytvoří uvnitř funkce a předá returnem tak ho potom někde musí taky smazat, což neni moc chytrý, protože co ve funkci vznikne by v ní mělo taky zaniknout. Jinak na to můžeš někdy zapomenout, obzvlášť když tu funkci budeš používat častěji nebo potom ty výsledný data předávat někam dál. Takhle by se to řešilo určitě v managed jazyce, ale v C++ bych to nedělal, vhodnější je pole předat pointerem, popřípadě referencí. Ještě by mohl udělat třídu a definovat konverzní konstruktory který to pole překopírujou, to je ale jednak na muj vkus poměrně nepřehledný, a hlavně dost neefektivní.
V Pythonu, PHP a Javě to dělám běžně. Souhlasím, že v C++ to není zrovna nejvhodnější řešení.
však jsem ti to psal ať použiješ funkce a pointery
držím palce
Když už ses zmínil o třídě: Proč bys měl dělat konverzní konstruktory? V konstruktoru definuješ pole, se kterým budou ostatní metody manipulovat dle potřeby.
Takhle by ta třída musela mít členskou funkci která by obsahovala vstup a výstup, což by členská funkce třídy v podobných případech neměla. Nebo alespoň já zásadně nenechávam třídu řešit vstupy/výstupy, pokud to vyloženě nemá v popisu práce. Měla by jenom poskytnout hodnoty a ty by měla zpracovat nějaká samostatná funkce. Ta jeho funkce má načítat hodnoty od uživatele a něco vypisovat, to by třída pro práci s maticí dělat neměla.
Zobrazeno 22 zpráv z 22.