Avatar
Začátečník
Neregistrovaný
Avatar
Začátečník:

Zdravím,
Potřeboval bych poradit ve škole jsme dostali úkol udělat program, který má najít minimum ze třech čísel přes pomocnou proměnnou, ale tu jsem právě nepochopil nevím jak se vůbec tvoří. prosím poraďte děkuji.

 
Odpovědět 2.1.2013 17:33
Avatar
Kit
Redaktor
Avatar
Odpovídá na Začátečník
Kit:

A kolik už toho máš hotového?

Nahoru Odpovědět 2.1.2013 18:21
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michael Olšavský:

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

 
Nahoru Odpovědět 2.1.2013 18:31
Avatar
Začátečník
Neregistrovaný
Avatar
Začátečník:

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
 
Nahoru Odpovědět 2.1.2013 19:01
Avatar
Začátečník
Neregistrovaný
Avatar
Začátečník:

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);
          }
 
Nahoru Odpovědět 2.1.2013 19:02
Avatar
Kit
Redaktor
Avatar
Odpovídá na Začátečník
Kit:

No vida. Odstraň obě "else" a ty dvě složené závorky na konci.

Nahoru Odpovědět 2.1.2013 19:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Luboš Běhounek (Satik):

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.

Editováno 2.1.2013 19:08
Nahoru Odpovědět 2.1.2013 19:08
:)
Avatar
matesax
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
matesax:

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;
}
 
Nahoru Odpovědět  +1 2.1.2013 19:14
Avatar
Začátečník
Neregistrovaný
Avatar
Začátečník:

No dobře a co mám dát místo těch else? Nic? zkoušel jsem ale pořád to nechce nic udělat :(

 
Nahoru Odpovědět 2.1.2013 19:32
Avatar
Kit
Redaktor
Avatar
Odpovídá na Začátečník
Kit:

Odstraň jen slova else. Zbytek nechej.

Aha, ještě je potřeba obrátit < za >. Přemýšlej u toho.

Nahoru Odpovědět 2.1.2013 19:36
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Začátečník
matesax:

Udělej to po mém... Ušetříš si nervy... :) Na datovém typu nezáleží...

 
Nahoru Odpovědět 2.1.2013 19:41
Avatar

Neregistrovaný
Avatar
:

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();
 
Nahoru Odpovědět 2.1.2013 19:45
Avatar
Kit
Redaktor
Avatar
Odpovídá na
Kit:

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.

Nahoru Odpovědět 2.1.2013 19:49
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Začátečník
Neregistrovaný
Avatar
Odpovídá na Kit
Začátečník:

Aha díky :O 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());
 
Nahoru Odpovědět 2.1.2013 19:55
Avatar
matesax
Redaktor
Avatar
Odpovídá na Začátečník
matesax:

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...

Editováno 2.1.2013 20:10
 
Nahoru Odpovědět 2.1.2013 20:07
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:

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.

Nahoru Odpovědět 2.1.2013 20:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David
Redaktor
Avatar
David:
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();
Nahoru Odpovědět 2.1.2013 20:16
Nic néni nemožné!
Avatar
Začátečník
Neregistrovaný
Avatar
Odpovídá na David
Začátečník:

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 ;(

 
Nahoru Odpovědět 2.1.2013 20:25
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Začátečník
David Čápka:

Jo, protože je špatně. matesax ti to napsal v 02.01.2013 20:07.

Nahoru Odpovědět 2.1.2013 20:27
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David
Redaktor
Avatar
David:

nahodu to jede me to fungovalo sem to skusal

Nahoru Odpovědět 2.1.2013 20:29
Nic néni nemožné!
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Začátečník
Petr Nymsa:

Pošli aktuální kód co máš...

Nahoru Odpovědět 2.1.2013 20:29
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na David
David Čápka:

Místo Convert se používá Parse a to větvení moc nedává smysl.

Nahoru Odpovědět 2.1.2013 20:37
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Začátečník
matesax:
    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 + ".");
Editováno 2.1.2013 20:42
 
Nahoru Odpovědět  +1 2.1.2013 20:39
Avatar
David
Redaktor
Avatar
David:

ja vim nepsal sem to zbytecne dluhe(stacilo to zkratit jak to ma matesax sem si toho nevšiml ze to tam uz napsal) ale funguje to taky

Nahoru Odpovědět 2.1.2013 20:39
Nic néni nemožné!
Avatar
Začátečník
Neregistrovaný
Avatar
Začátečník:

Už jsem na to konečně přišel funguje mi vše. Děkuji všem za pomoc ;)

 
Nahoru Odpovědět 2.1.2013 20:40
Avatar
David
Redaktor
Avatar
David:

a ten convert su zvykli myslim to tak bylo v knizce Moderni Programovani

Nahoru Odpovědět 2.1.2013 20:41
Nic néni nemožné!
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na David
David Čápka:

Convert je na převádění mezi čísly, z textu se vždy parsuje.

Nahoru Odpovědět 2.1.2013 20:42
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David
Redaktor
Avatar
David:

aha do příště to už aspon vím

Nahoru Odpovědět 2.1.2013 20:44
Nic néni nemožné!
Avatar
matesax
Redaktor
Avatar
Odpovídá na David
matesax:

Vlastně nejen čísla - viz. jazyky - ty se také parsují... (Zpracování textu...)

 
Nahoru Odpovědět 2.1.2013 20:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 29 zpráv z 29.