Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 13. 11. 2011 15:51 — Editoval itcrowd (13. 11. 2011 15:52)

itcrowd
Příspěvky: 28
Reputace:   
 

Výskyt druhého největšího čísla, c#

Ahoj, potřeboval bych poradit s tímto programem.

Code:

Console.Write("Zadej celé číslo,cyklus končí 0: ");
            int cislo = int.Parse(Console.ReadLine());
            int max = int.MinValue; 
            int max2 = int.MinValue;

            while (cislo != 0)
            {
               
                if (cislo > max2)
                {
                    if (cislo > max)
                    {
                        max2 = max;
                        max = cislo;
                    }
                    else
                    {
                        if (cislo < max)
                        {
                            max2 = cislo;
                        }
                    }
                }

                Console.Write("Zadej celé číslo,cyklus končí 0: ");
                cislo = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("Druhé největší číslo je {0}", max2);

Potřebuji zjistit počet výskytu druhého největšího čísla.
Děkuji

Offline

 

#2 13. 11. 2011 19:26

jindra
Příspěvky: 78
Reputace:   
 

Re: Výskyt druhého největšího čísla, c#

Máš to téměř dobře, stačí přidat počítadla.
Jedno pro nejvyšší a druhé nejvyšší (pro případ kdy se nejvyšší stane druhým nejvyšším)

takže dobře funguje toto:

Code:

 int cislo;
            int max = int.MinValue;
            int max2 = int.MinValue;
            int count1 = 0;
            int count2 = 0;


            while (true)
            {
                Console.Write("Zadej celé číslo,cyklus končí 0: ");
                cislo = Convert.ToInt32(Console.ReadLine());

                if (cislo == 0)
                    break;

                if (cislo == max)
                {
                    Console.WriteLine("přicitam");
                    count1++;
                }

                if (cislo == max2)
                {
                    Console.WriteLine("přicitam");
                    count2++;
                }

                if (cislo > max2)
                {
                    if (cislo > max)
                    {
                        max2 = max;
                        max = cislo;
                        count2 = count1;
                        count1 = 1;
                    }
                    else
                    {
                        if (cislo < max)
                        {
                            max2 = cislo;
                            count2 = 1;
                        }
                    }
                }
            }
            Console.WriteLine("Druhé největší číslo je "+max2.ToString()+" a je obsaženo "+count2.ToString()+"x");
            Console.ReadLine();

Offline

 

#3 15. 11. 2011 16:01

itcrowd
Příspěvky: 28
Reputace:   
 

Re: Výskyt druhého největšího čísla, c#

Děkuji za radu

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson