Diskuze: Nesmysl v kódu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 18 zpráv z 18.
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.
Těžko říct, co je na něčem špatně, když nevíš co má být
výsledek 
Jen tak zběžně:
Teď mi došlo, že to první číslo, které má uživatel zadat, nebude počet písmen, ale počet cyklů. Program se však uživatele ptá, "Kolik má číslo písmen?" a pak má napsat číslo, to je matoucí...
Ahoj, a co ten program má vlastně dělat? Měl by přenášet číslem zapsanej arabsky na římsky?
Ano, Madara řeší aktuálního Machra a zamotal se v tom. 
Jo, přesně tak.
Konkrétně nefunguje tohle :
foreach (string a in rimske)
{
if ((a == "V") && (rimske[rimske.Length - 1] != "I"))
arabske = arabske + 5;
else
{
rimske[rimske.Length - 1] = "false";
arabske = arabske + 4;
}
if (a == "I")
arabske++;
}
Myslel jsem to takhle :
Když se najde v tom poli V, tak se ověří, jestli před V v poli není ještě I. Pokud ano, tak to tedy bude 4. Jenže to by se k tomu ještě pak přičetla I, takže tu změním na "false", nebude tedy započítána. Když ale před tím V nebude I, tak to bude 5. Jenže po zadání IV do programu mi vypadlo 42, což je blbost.
Tak to se připrav na to, jak bude vypadat finální verze.
2.) Ještě to není hotové, mám na to pět dní..
if ((a == "V") && (rimske[rimske.Length - 1] != "I"))
Zřejmě nedělá to, co si ty myslíš. rimske.Length ti vrátí v tomto případě vždycky 9, takže se nedíváš, jestli náhodou před tím "V" není "I", ale díváš se vždycky na to, jestli je na konci "I". Abys zkontroloval znak před "V", tak bys musel v tomto případě získat... Nechce se mi to ani psát, přepiš si to na for cyklus (nebo jakýkoli jiný, kromě foreache, u kterého se index těžko získává).
Jestli teda dobře chápu, co ti na tom blbne 
Takže nějak takhle ?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace prevodnik_madara
{
class Program
{
static void Main(string[] args)
{
string[] rimske = new string[10];
int arabske = 0;
Console.WriteLine("Kolik ma cislo pismen ? : ");
int pocet = int.Parse(Console.ReadLine());
for (int i = 0; i < pocet; i++)
{
Console.Write("Zadejte {0}. číslo: ", i + 1);
rimske[i] = Console.ReadLine();
}
for (int i = 0; i < 10; i++)
{
if ((rimske[i] == "V") && (rimske[i-1] != "I"))
arabske = arabske + 5;
else
{
rimske[i-1] = "false";
arabske = arabske + 4;
}
if (rimske[i] == "I")
arabske++;
}
Console.WriteLine(arabske);
Console.ReadKey();
}
}
}
Píše mi to totiž error.
Konkrétně zde :
rimske[i-1] = "false";
To je jásné, protože rimske na indexu -1 je mimo hranici. Takže bys měl asi začít indexovat od 1 nebo tam dát ještě podmínku.
Ještě malý hint:
string s = "IVI";
if (s.IndexOf("IV", 0) != -1)
...
Ale i tak tam je dost chyb, takže gl 
Tak už zase ne
Přišel
jsem na to, jak to udělat jinou cestou.
Místo spamování, se nad tím zkus doopravdy zamyslet. Změna jazyka by ti
stejně nepomohla
I tak by jsi
musel vymyslet postup a myslím že v PHP by se ti to možná dělalo
obtížněji 
Pokud bude chtít kontrolovat syntaxi zadaného příkladu tak mu to moc nepomůže.
Zobrazeno 18 zpráv z 18.
