For-silmukka

Tee ohjelma, joka kysyy käyttäjältä kokonaisluvun n (n>0) ja tulostaa monitorille luvut 1,2,3..n allekkain. Tee ohjelma hyödyntäen FOR-lausetta.

Mutta mutta.. ei onnistu, kun teen alla olevalla tavalla. Ei pysähdy ajoissa, menee yli 27 000:een. Tiedän, että kyseessä on pieni muokkaus, mutta kun ei leikkaa, niin ei leikkaa..

#include

int main()
{
int n;

printf("Anna kokonaisluku: ");
scanf("%d", &n);
for(n=1; n>=0; n )
{
printf("%d\n", n);
}
return 0;
}
154230
Äänestä

Muut lukivat myös

Vastaukset 15

Vanhimmat

Vastaus löytyy for-luupista. Et halua muuttaa n:n arvoa vaan verrata luuppausmuuttujaa siihen:

for(int i=1; i

Äänestä
  • Ei toimi vieläkään..



    #include

    int main()
    {
    int i ;

    printf("Anna kokonaisluku: ");
    scanf("%d", &i);
    for(i=1; i

    Äänestä

  • MissäVika kirjoitti:

    Ei toimi vieläkään..



    #include

    int main()
    {
    int i ;

    printf("Anna kokonaisluku: ");
    scanf("%d", &i);
    for(i=1; i

    Annat sen ännän olla siellä kuten alunperin ja muutat luupin niinkuin aiemmin kerroin. Tällöin n sisältää muuttujan jonka arvo kysytään käyttäjältä ja i pyörittää silmukkaa ykkösestä ännään.

    Tuo uusi versio kysyy käyttäjältä muuttujan ja sijoittaa sen i:hin. Kun ohjelma etenee silmukkariville, katoaa käyttäjän syöttämä tieto samantien ja silmukkamuuttujaa verrataan ännään, joka ei ole alustettu mihinkään (eikä sitä ole edes esitelty missään).

    Äänestä

  • coder kirjoitti:

    Annat sen ännän olla siellä kuten alunperin ja muutat luupin niinkuin aiemmin kerroin. Tällöin n sisältää muuttujan jonka arvo kysytään käyttäjältä ja i pyörittää silmukkaa ykkösestä ännään.

    Tuo uusi versio kysyy käyttäjältä muuttujan ja sijoittaa sen i:hin. Kun ohjelma etenee silmukkariville, katoaa käyttäjän syöttämä tieto samantien ja silmukkamuuttujaa verrataan ännään, joka ei ole alustettu mihinkään (eikä sitä ole edes esitelty missään).

    Väännä rautalangasta :) Ei tää ota toimiakseen.


    #include

    int main()
    {

    int n;

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

    for(int i=1; i

    Äänestä

  • MissäVika kirjoitti:

    Väännä rautalangasta :) Ei tää ota toimiakseen.


    #include

    int main()
    {

    int n;

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

    for(int i=1; i

    Oletko ihan varma että tulostat oikean muuttujan arvoja?

    En haluaisi masentaa, mutta oletko ihan varma että ohjelmointi on sisäinen kutsumuksesi?

    Äänestä

  • MissäVika kirjoitti:

    Väännä rautalangasta :) Ei tää ota toimiakseen.


    #include

    int main()
    {

    int n;

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

    for(int i=1; i

    vaihda yksi n:istä i:hin ;)

    Äänestä

  • MissäVika kirjoitti:

    Väännä rautalangasta :) Ei tää ota toimiakseen.


    #include

    int main()
    {

    int n;

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

    for(int i=1; i

    n siis kertoo, että mihin asti tulostetaan lukuja. For-loopissa tulostetaan sitä i:n arvoa niin kauan, että saavutetaan se n

    #include

    int main()
    {

    int n;

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

    for(int i=1; i

    Äänestä

  • Piru kirjoitti:

    n siis kertoo, että mihin asti tulostetaan lukuja. For-loopissa tulostetaan sitä i:n arvoa niin kauan, että saavutetaan se n

    #include

    int main()
    {

    int n;

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

    for(int i=1; i

    tuon piti olla c:tä ei c++:ssaa, for luupissa EI esitellä muuttujia (tosin C99 standardi sen tulevaisuudessa salliikin). esim. borlandin kääntäjä vetää tuosta herneen nenään ellei tiedosto ole cpp pääteinen.

    #include

    int main()
    {

    int n, i;

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

    for(i=1; i

    Äänestä

  • arto77 kirjoitti:

    tuon piti olla c:tä ei c++:ssaa, for luupissa EI esitellä muuttujia (tosin C99 standardi sen tulevaisuudessa salliikin). esim. borlandin kääntäjä vetää tuosta herneen nenään ellei tiedosto ole cpp pääteinen.

    #include

    int main()
    {

    int n, i;

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

    for(i=1; i

    Nyt toimi!

    Äänestä

  • Mäkkihöperö kirjoitti:

    Oletko ihan varma että tulostat oikean muuttujan arvoja?

    En haluaisi masentaa, mutta oletko ihan varma että ohjelmointi on sisäinen kutsumuksesi?

    >En haluaisi masentaa, mutta oletko ihan varma että ohjelmointi on sisäinen kutsumuksesi?

    Kiva vittuille aloitteville koodaajille.
    Hieno asenne sulla. :/

    Äänestä

Pienestä kiinni saada toimimaan for-lauseella kertoma. Auttakaa joku, kun itse en tajua miten muka..

Tee ohjelma, joka kysyy käyttäjältä kokonaisluvun n (n>0) ja tulostaa luvun kertoma näytölle. Esimerkiksi n:n kertomaa merkitään merkillä n!, joka tarkoittaa lukua, joka saadaan seuraavasti 1*2*3...*n


#include

int main() {
int n=0;
int tulos=1;

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

int i;
for (i=1; i

Äänestä
  • Vika piilee printf:ssä.

    Äänestä

  • coder kirjoitti:

    Vika piilee printf:ssä.

    printf("Luvun kertoma on %i", tulos);
    scanf("%i", &n);


    Tämä ei tee virhettä, mutta ei myöskään löydä "Luvun x kertoma"-kohtaa x:n tilalle annettua kokonaislukua.

    Äänestä

  • MissäVika kirjoitti:

    printf("Luvun kertoma on %i", tulos);
    scanf("%i", &n);


    Tämä ei tee virhettä, mutta ei myöskään löydä "Luvun x kertoma"-kohtaa x:n tilalle annettua kokonaislukua.

    "Tämä ei tee virhettä, mutta ei myöskään löydä "Luvun x kertoma"-kohtaa x:n tilalle annettua kokonaislukua."

    siksi koska et tulosta sittä...

    printf("Luvun %d kertoma on %d",n, tulos);

    et kai harrasta copy+paste koodausta ymmärtämättä mitä teet ?

    toivon mukaan ongelmana ei ole katoava prompti ?
    scanf("%i", &n);

    Äänestä

  • hippihyypiö kirjoitti:

    "Tämä ei tee virhettä, mutta ei myöskään löydä "Luvun x kertoma"-kohtaa x:n tilalle annettua kokonaislukua."

    siksi koska et tulosta sittä...

    printf("Luvun %d kertoma on %d",n, tulos);

    et kai harrasta copy+paste koodausta ymmärtämättä mitä teet ?

    toivon mukaan ongelmana ei ole katoava prompti ?
    scanf("%i", &n);

    Selostin itse sekavasti äsken. Sain ohjelman vihdoin toimimaan. Kiitoksia!

    Äänestä

Kommentoi aloitusta


MissäVika kirjoitti:

Tee ohjelma, joka kysyy käyttäjältä kokonaisluvun n (n>0) ja tulostaa monitorille luvut 1,2,3..n allekkain. Tee ohjelma hyödyntäen FOR-lausetta.

Mutta mutta.. ei onnistu, kun teen alla olevalla tavalla. Ei pysähdy ajoissa, menee yli 27 000:een. Tiedän, että kyseessä on pieni muokkaus, mutta kun ei leikkaa, niin ei leikkaa..

#include

int main()
{
int n;

printf("Anna kokonaisluku: ");
scanf("%d", &n);
for(n=1; n>=0; n )
{
printf("%d\n", n);
}
return 0;
}

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu