» »

Sode ter Lihe(C Sharp)

Goran's Blog ::

Pozdravljeni.
Potreboval bi eno pomoč in sicer pri sodih in lihih številkah.
Enostavna vaja in sicer ko vtipkam 3-mestno število mi mora izpisati ali so sode ali lihe števila oziroma če je npr 123 da so sode ter lihe.

 Console.WriteLine("V naslednjih treh korakih bomo vnesli poljubna 3 števila");
            Console.WriteLine("Vnesi prvo številko");
            int st1 = int.Parse(Console.ReadLine());
            Console.WriteLine("Vnesi drugo številko");
            int st2 = int.Parse(Console.ReadLine());
            Console.WriteLine("Vseni trezjo številko");
            int st3 = int.Parse(Console.ReadLine());

            if (st1 % 2 == 0 & st2%2==0 &st3/2==0)
                
                    Console.WriteLine("Število" + st1 + st2 + st3 + "je sodo");


                    else

            if (st1 % 2 != 0 & st2%2!=0 & st3%2!=0)
                
                        Console.WriteLine("Število " + st1 + st2 + st3 + " le liho ");

                 else
                        Console.WriteLine("Cifre so lihe in sode");




Kje se motim?

Ziga Dolhar ::

Za začetek - je tule typo? if (st1 % 2 == 0 & st2%2==0 &st3/2==0)
Legal systems are not supposed to be efficient. They are
designed to ensure that innocent people are not found guilty.
If that requires inefficiencies, so be it.

Goran's Blog ::

Ziga Dolhar je izjavil:

Za začetek - je tule typo? if (st1 % 2 == 0 & st2%2==0 &st3/2==0)

Te ne razumem kaj hočeš s tem povedati.
Jaz razmišljam tako da kar je deljivo z dva in nič ne ostane da je sodo, kar pa ni deljivo z dva se pravi ni ostanka je liho oziroma oboje je liho in sodo?(Če razumeš kaj hočem povedati)

Arto ::

Ja, samo ti imaš tam / namesto %

Goran's Blog ::

Arto hvala:D
Mislim, kateri banalen problem!

jizzer ::

Kak je glede teh sodih pa lihih? Če je deljivo s 3 še ne pomeni da je liho. Primer: 29 ni deljiv z 3 niti z 2 pa je število liho... Take naloge men ne delujejo logično. Blo bi bolj pametno da bi za to uporabljal neko funkcijo kot naprimer za koren sqrt(x)...

Gandalfar ::

Ne vem zakaj kompliciras. Pogledas ce je deljivo z 2 in ce ni zadevo oznanis da je liho :)

gendale ::

al pa samo pogledaš a je zadnj bit 1
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)

Spura ::

To niso števila ampak števke (digits).

Zgodovina sprememb…

  • spremenil: Spura ()

detroit ::

men se zdi najbolj logično kar je gandalfar reku...
sicer pa narediš extension metodo

public static bool isOdd(this String s)
{
    if((double.parse(s) / 2) = 0)
     return false
    else return true
}


pišem iz glave tko da je po moje napaka ali 10;)


ah p.s. potem kličeš string sporočilo = tvojString.isOdd() ? "Liho" : "Sodo"; Console.Writeline(sporočilo);
Skero

Zgodovina sprememb…

  • spremenil: Mavrik ()

Spura ::

errr a ne bo double.parse(s) / 2 = 0 veliko veliko pocasnejse od int.parse(s) % 2 == 0? Zakaj bi sploh dajal v double?

detroit ::

good question..sicer pa ne vem kako deluje int 5/2 = ?
Skero

Spura ::

5/2 = 2. -5/2 = -2

detroit ::

aha floor uzame, well če je hitrejš potem se pač priredi tist extension:)
Skero

Mavrik ::

if((double.parse(s) / 2) = 0)


Ti pa si verjetno lihkar zmagal tekmovanje za največje število failov na vrstico ;) (DN: ugotovi kaj vse je narobe) :)
The truth is rarely pure and never simple.

Zgodovina sprememb…

  • spremenil: Mavrik ()

Spura ::

1. To ni floor. floor(2.5) = 2, floor(-2.5) = -3
2. Pa saj noces deljenja. A ne vidis da sem napisal modulo? Stevilo je sodo ce je ostanek pri deljenju z 2 enak 0. Tvoja koda je napacna.

isOdd(0) = false // pravilno
isOdd(1) = true // pravilno
isOdd(2) = true // napacno
isOdd(3) = true // pravilno
isOdd(4) = true // napacno
isOdd(5) = true // pravilno
isOdd(6) = true // napacno
isOdd(7) = true // pravilno
isOdd(8) = true // napacno
isOdd(9) = true // pravilno

3. Za sodost/lihost integerja se preverja bodisi
boolean isEven = x % 2 == 0
ali pa
boolean isEven = x & 1 == 0

detroit ::

ja sm opazil da je koda malenkost obrnjena in tudi da je tisto modul.


public static bool isEven(this String s)
{
    if(int.parse(s) % 2 == 0)
     return true
    else return false
}


eko popravek

mavrik semantičnih for ne rabim:)
je pa res da so tudi logične napake aaa jebi ga človek hoče sam na hitr pomagat medtem ko dela. Mogoče je res boljš da počakajo moji posti na čas ko imam čas mislit
Skero

Zgodovina sprememb…

  • spremenil: detroit ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo

[C#]naloga iz metod!

Oddelek: Programiranje
8599 (432) Ziga Dolhar

[C#] naloga iz metod

Oddelek: Programiranje
22662 (422) Mavrik
»

[C#] število manjše proti večjemu

Oddelek: Programiranje
10287 (183) detroit
»

[C#] razlaga

Oddelek: Programiranje
16780 (497) krastača
»

Prvih 100 števil.....

Oddelek: Programiranje
11412 (278) Cvenemir

Več podobnih tem