Diskuze: Pomocná proměnná
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Neregistrovaný

Zobrazeno 29 zpráv z 29.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
tak jestli jsem to spravne pochopil, tak si zaloz novou promnenou s nejakou hodnotou a pak napr.: odecti kazde ze zadanych cisel. pak podle hodnoty muzes urcit jake cislo je nejmensi. nebo pouzij nejaky algoritmus trideni. kdyztak tady je odkaz na algoritmus s pouzitim pole: http://www.itnetwork.cz/…axima-v-poli
Hotové to mám ale jaksi to nefunguje pořád nechápu tu pomocnou
double a, b, c,MIN;
Console.WriteLine("Zapiš 3 libovolné čísla.");
a = Convert.ToDouble(Console.ReadLine());
b = Convert.ToDouble(Console.ReadLine());
c = Convert.ToDouble(Console.ReadLine());
MIN = a;
if (MIN < b)
{
MIN = b;
}
else if (MIN < c)
{
MIN = c;
}
else
edit
double a, b, c,MIN;
Console.WriteLine("Zapiš 3 libovolné čísla.");
a = Convert.ToDouble(Console.ReadLine());
b = Convert.ToDouble(Console.ReadLine());
c = Convert.ToDouble(Console.ReadLine());
MIN = a;
if (MIN < b)
{
MIN = b;
}
else if (MIN < c)
{
MIN = c;
}
else
{
Console.WriteLine("Toto je minimální hodnota" + MIN);
}
To prvni (i druhe) else by tam byt nemelo.
Pomocna promenna je normalni promenna, akorat ji v kodu pouzivas jako pomocnou - nemas v ni ulozeny data, ale treba nejakej mezivysledek - tady momentalni minimum.
Já bych udělal metodu se vstupem array - tím to bude mnohem jednodušší:
private int Min(int[] numbers)
{
int result = 0; // pomocná proměnná
foreach (int item in numbers)
if (item < result)
result = item;
return result;
}
Odstraň jen slova else. Zbytek nechej.
Aha, ještě je potřeba obrátit <
za >
.
Přemýšlej u toho.
Udělej to po mém... Ušetříš si nervy... Na datovém typu nezáleží...
matesax: to vůbec nechápu to jsme se ještě neučili
Kit : co je to <za>?
a když jsem odstranil to co jsi mi řekl tak to zase píše toto:
Only assignment, call, increment, decrement, and new object expressions can be
used as a statement
double a, b, c, MIN;
Console.WriteLine("Zapiš 3 libovolné čísla.");
a = Convert.ToDouble(Console.ReadLine());
b = Convert.ToDouble(Console.ReadLine());
c = Convert.ToDouble(Console.ReadLine());
MIN = a;
if (MIN < b)
{
MIN = b;
}
(MIN < c);
{
MIN = c;
}
Console.WriteLine("Toto je minimální hodnota" + MIN);
Console.ReadKey();
Psal jsem, že máš smazat "else". Ne "else if". To "if" tam musí zůstat.
Ty podmínky máš prostě obráceně. Myslel jsem si, že nehledáš maximum, ale minimum.
Aha díky ale stejně
to nefunguje teď to pro změnu hlásí, že vstupní řetězec nemá správný
formát
b = Convert.ToDouble(Console.ReadLine());
Fajn bude po tvém...
Console.WriteLine("Zapiš 3 libovolná čísla. Každé odentruj.");
double
min = double.Parse(Console.ReadLine()),
b = double.Parse(Console.ReadLine()),
c = double.Parse(Console.ReadLine());
if (b < min)
min = b;
if (c < min)
min = c;
Vůbec není lepší cyklus...
Tady přece nejde o to, jestli je cyklus lepší nebo ne. Ber to tak, že je to jeho první program a netuší, která bije.
Console.WriteLine("Zapiš tři libovolná celá čísla!");
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
int c = Convert.ToInt32(Console.ReadLine());
int minimum = a;
int vysledek = 0;
if (minimum < b)
{
if (minimum < c)
vysledek = a;
}
else
{
minimum = b;
if (minimum < c)
vysledek = b;
else
vysledek = c;
}
Console.WriteLine("Nejmenší číslo je: {0}", vysledek.ToString());
Console.ReadKey();
Tak fakt netuším co dělám za chybu zkopíroval jsem od dave333249
a pořád to nic nedělá a pak to hodí tu chybu že vstupní řetězec nemá
správný formát
Jo, protože je špatně. matesax ti to napsal v 02.01.2013 20:07.
Místo Convert se používá Parse a to větvení moc nedává smysl.
double min, b, c;
Console.WriteLine("Nyní tě budu postupně vybízet, aby jsi napsal 3 libovolná čísla -
já ti pak napíši, které bylo nejmenší...");
Console.WriteLine("OK - jsme u prního - až jej zapíšeš - stiskni Enter.");
min = double.Parse(Console.ReadLine());
Console.WriteLine("Vlož druhé a opět stiskni Enter.");
b = double.Parse(Console.ReadLine());
if (b < min)
min = b;
Console.WriteLine("A jsme u posledního - postup znáš... :)");
c = double.Parse(Console.ReadLine());
if (c < min)
min = c;
Console.WriteLine("Nejmenší číslo je:" + min + ".");
Convert je na převádění mezi čísly, z textu se vždy parsuje.
Vlastně nejen čísla - viz. jazyky - ty se také parsují... (Zpracování textu...)
Zobrazeno 29 zpráv z 29.