parillinen pariton tehtävään apua

Anonyymi

Olen ihan vasta alkaja, enkä keksi miten saisin aikaan sen jos syötetään numeroita luvun sijaan ettei ohjelma tulkitse sitä numeroiksi ja anna virheellistä vastausta parillinen/pariton.

Tehtävä:
Tee ohjelma, joka pyytää käyttäjältä kokonaisluvun ja tarkistaa, onko luku parillinen vai pariton. Jos syötetty luku on parillinen, tulostetaan näytölle "Luku 2 on parillinen.", jos luku on pariton, tulostetaan näytölle "Luku 1 on pariton.". Muuten tulosta virheilmoitus.


Yritykseni:

summa = luku % 2;

if (summa==0)
{
printf("Luku %d on parillinen \n", luku);
}
else if (summa==1)
{
printf("Luku %d on pariton \n",luku);
}
else
{
printf("Vastaus vain numeroin");
}

9

1851

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Ainakin ohjelmasta puuttuu syötteen lukeminen.

      Eikös se ole joku scanf niminen funktio C:ssä?

      • Anonyymi

        Tuossa tuo alku, ajattelin että on niin vakio ettei tarvi sitä laittaa :)

        #include <stdio.h>

        int main()
        {
        int luku, summa;

        printf("Anna kokonaisluku: ");
        scanf("%d", &luku);
        printf("\n");


    • Anonyymi

      Taas tuo toimimaton moderointi poisti asiallisen viestin, no nyt tähän alkuun moderointia moittivaa sisältöä, niin katsotaan on viesti sellainen kuin pitääkin.

      Paremman puutteessa tätäkin voi kokeilla, kuvassa värjätyt rivit on uusia:

      https://s7.gifyu.com/images/nimeton.c.png

      Onkohan tuossa nyt riittävästi tekstiä, ettei taas poistu. Tämänkin turhan poistelun voisi välttää kun laittaisivat tuohon tuon hyväksyntää osoittavan väkäsen tilalle huomautuksen, että kun viesti kirjoitetaan öiseen aikaan ja siihen sisältyy linkki kuvaan täytyy viestin olla niin ja niin pitkä. Nythän siinä kirjoittajalle annetaan vain hyväksyntää osoittava väkänen ja merkkien määrä. En usko näihin korjauksiin kenenkään vastuussa olevan pystyvän joten kiusa on ja pysyy.

    • Anonyymi

      Psykiatrian parillinen. Pankit

    • Anonyymi

      Luvut koostuvat numeroista ja viimeinen numero luvussa ratkaisee sen onko luku parillinen vai pariton tähän ei mitään ohjelmaa tarvitse kun sen näkee suoraan luvusta 1, 3, 5, 7, 9 ovat parittomia muut parillisia. Eli 2 jakaminen antaa parillisella aina kokonaisluvun ja parittomilla desimaaliluvun. Eli ongelman jota ei ole ratkaisu piilee siinä onko vastaus kokonaisluku eli tyyppiä int.

      • Anonyymi

        Näin kymmen-järjestelmässä. Mutta binäärijärjestelmässä se on vieläkin helpompi, mihin tuo alkuperäinen ratkaisu liittyy, joskin jakolaskun laskeminen on turhan raskas operaatio, kun riittäisi ottaa alin bitti.
        bit_0 = luku & 1;


      • Anonyymi
        Anonyymi kirjoitti:

        Näin kymmen-järjestelmässä. Mutta binäärijärjestelmässä se on vieläkin helpompi, mihin tuo alkuperäinen ratkaisu liittyy, joskin jakolaskun laskeminen on turhan raskas operaatio, kun riittäisi ottaa alin bitti.
        bit_0 = luku & 1;

        Positiivisilla kokonaisluvuilla noin. Tehtävässä mainittiin, että ohjelma "pyytää käyttäjältä kokonaisluvun", eikä ole poissuljettua, että luku olisi etumerkillinen. Näin aloittaja oli myös koodinsa kirjoittanut.

        Etumerkillisen kokonaisluvun kanssa on se ongelma, että standardi ei kerro onko luku kahden komplemettimuodossa vaiko jossain muussa muodossa. Siten alimman bitin testaaminen ei välttämättä toimi, mutta ainakaan se ei ole standardin mukaista.

        En tiedä yhtään nykyaikaista prosessoria, jossa etumerkilliset kokonaisluvut eivät olisi kahden komplemettimuodossa. Mutta edelleenkään standardi ei sellaista oleta.

        Etumerkittömän kokonaisluvun modulo-2 on periaatteessa jakolasku, mutta kääntäjä tuskin jättää tilaisuutta käyttämättä ja optimoi sen nollabitin testaukseksi. Resurssien käytön kannalta on siis sama kirjoittaako em. testin modulo-operaattilla vaiko maskaamalla.

        Aloittajan ongelmanratkaisusta puuttuu virheentunnistus kokonaan. Scanf ei estä syöttämästä numerotiedon sijaan kirjaimia tai mitä tahansa merkkejä, jotka jäävät lukematta annettuun muuttujaan. Vähintäinkin scanf-funktion paluuarvo on syytä testata ja mielellään pyytää syöte merkkijonona puskuriin, josta numerotieto voidaan luotettavasti lukea ja tunnistaa.


    • Anonyymi

      #include <stdio.h>
      int main() {
      int num;
      printf("Enter an integer: ");
      scanf("%d", &num);

      // true if num is perfectly divisible by 2
      if(num % 2 == 0)
      printf("%d is even.", num);
      else
      printf("%d is odd.", num);

      return 0;
      }

      Joo 5 vuotta sitten oli viellä hankalaa nykyisin ei muuta kuin kuukle hakuun

      Ja tietysti ääänglänniksi.
      c odd even

      • Anonyymi

        Ja jos näitä joku lukee niin toi alkupaska "koodi" siis kopioidaan tekstitiedostoon
        Vaikka nimeltään vittu.c sitten tuo käännetään ohjelmaksi

        gcc vittu.c -o vittu

        Näin meillä sitten hieno ohjelma nimeltä vittu. Oliko kysyttävää?


    Ketjusta on poistettu 2 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?

      Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k
      Maailman menoa
      135
      4625
    2. Voiko normaali ihminen ryhtyä vasemmistolaiseksi?

      Tätä jäin pohdiskelemaan.
      Maailman menoa
      164
      3821
    3. SDP haluaa 40 000 nettomaahanmuuttajaa

      SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah
      Maailman menoa
      112
      3550
    4. Mikä tuota vasemmistolaisista jankkaavaa vaivaa?

      Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia
      Maailman menoa
      43
      2881
    5. Mitä ajattelit kun näit

      kaivattusi ensimmäisen kerran? xd
      Ikävä
      136
      1816
    6. Nyt meni lopulliset lämmöt.

      Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta
      Sinkut
      40
      1628
    7. Orpo loukkaantui fasismiin viittaavasta sanavalinnasta

      Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk
      Maailman menoa
      26
      1269
    8. Sulla on avaimet ja keinot

      Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi
      Ikävä
      21
      1241
    9. Onko erityinen paikka jossa haluaisit nyt olla

      Onko joku spesiaali lempipaikka missä mieluiten olisit?
      Ikävä
      43
      1184
    10. Meitä ei tule

      Koska periaatteemme ovat rakkautta vahvempia. Tämä on siis koettelemus, jonka tarkoitus on vahvistaa meitä yksilöinä 😌
      Ikävä
      23
      1183
    Aihe