Diskuze: Faktoriál libovolného čísla
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 20 zpráv z 20.
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, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Děkuji, jen s tím trochu zápolím:
private void button37_Click(object sender, EventArgs e)
{
x = (int) (float.Parse(textBox1.Text));
c = x * (x - 1)!;
textBox1.Text = c.ToString();
}
Když k tomu c dám ! tak mi to podvlní úplně vše a ani na tom konci mi
to nebere - tak mě oprav pls - děkuji. Tuším, že se bude jednat o úplnou
blbost, ale hold se mám ještě co učit. 
Nejprve by to chtělo přečíst si toto: http://www.itnetwork.cz/index.php?…
Ten ! je matematický symbol pro faktoriál. Není součástí syntaxe C# v tomto významu. Napiš si to jako rekurzívní funkci nebo to klidně udělej cyklem. Myslím si, že C# cykly umí.
Aby bylo jasno: Napsal jsem ti matematický zápis pro výpočet faktoriálu. Ne zápis v C#.
Pročteno - jak píšu, nedařilo se mi tam dostat text z textboxu - pokud jsem proměnnou definoval mimo kruh, tak ji to nevzalo - pokud v kruhu, tak nepodporovalo,...
Kruhu? Nepodporovalo? Nějak nechápu, ten algoritmus je tak jednoduchý a je k němu napsáno v článku tolik textu a kódu, že to až není hezké. Pokud umíš převést text na číslo, tak mě nenapadá, kde může být problém.
No v cyklu. Převedl jsem to do správného formátu a napsalo mi to:
...keyword must not be followed by an object expression.
Vezmu kód z článku a vložím tam místo meze hodnotu z TextBoxu, je to to, co chceš?
int result = 1;
int x = int.Parse(TextBox1.Text);
for (int i = 2; i <= x; i++) {
result *= i;
}
// v result máš výsledek
Jinak už nevím 
Samozřejmě, že to jede. Měl by sis ten článek pročíst znovu... Tohle jsou úplné základy, zkoušej si něco s cykly, například napsat do TextBoxu 5 hvězdiček s tím, že ve zdrojovém kódu může být hvězdička jen jedna, zkusit přepsat text mezi TextBoxy tak, aby byl pozpátku a podobně.
Mě dělá problém jen to, jak to z vlastní metody dostat do podoby, kteru jsi mi zde uvedl. Například toto:
public string GetRandomString (Random rnd, int length)
{
string charPool
= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz1234567890";
StringBuilder rs = new StringBuilder();
while (length-- 0)
rs.Append(charPool[(int)(rnd.NextDouble() * charPool.Length)]);
return rs.ToString();
}
potřebuji použít v jiné metodě - tak jak na to? Děkuji.
Ty bys to měl v těch metodách naopak nechávat, aby byl kód strukturovaný a jeho části znovupoužitelné. Metodu si pak zavoláš tam, kde kód potřebuješ.
OK - ale jak zavolám zrovna tuto metodu? Jiné mně šly.
Metoda potřebuje pro svou funkčnost v parametru objekt generátoru náh. čísel, když jsi metodu evidentně nepsal a nevíš jak funguje, tak se nedivím, že ti nejde zavolat...
Zkus např.
Label1.Text = GetRandomString (new Random(), 10);
Jinak je ta metoda zbytečně složitá, kdyby ses nad tím raději zamyslel a zkusil to napsat sám, tak by to bylo efektivnější.


ahoj
mám takový malý
dotaz
mám za úkol
vypočítat kombinační číslo faktoriál n a faktoriál k mám takhle double
n = 0;
double result = 1;
Console.Write("Zadejte číslo n : ");
n = Convert.ToDouble(Console.ReadLine());
for (ulong i = 1; i <= n; i++) { result *= i; };
Console.Write(result.ToString());
double k = 0;
double resul = 1;
Console.Write("Zadej číslo k : ");
k = Convert.ToDouble(Console.ReadLine());
for (ulong i = 1; i <= k; i++) { resul *= i; };
Console.Write(resul.ToString());
teď ale nevím, jak udělat (n-k)!. Může mi někdo poradit??
vytahni si ten faktorial do funkce, pak ho jen budes volat s ruznyma parametrama, treba takhle nejak:
int n = 10;
int k = 3;
int x = faktorial(n);
int y = faktorial(n-k);
Convert nepoužívej - to se tu již řešilo - prasárna!
int n, k, result = 1;
Console.WriteLine("Zadej n:");
n = int.Parse(Console.ReadLine());
Console.WriteLine("Zadej k:");
k = int.Parse(Console.ReadLine());
for(;n < (n - k);n--)
result *= n;
Zobrazeno 20 zpráv z 20.