Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Dodawanie kolejnych liczb do siebie, używając pętli 'for'

Ostatnio zmodyfikowano 2014-10-09 18:30
Autor Wiadomość
LordPitex
Temat założony przez niniejszego użytkownika
[C++] Dodawanie kolejnych liczb do siebie, używając pętli 'for'
» 2014-10-09 17:53:08
Witam,
mam pewien problem z zadaniem o treści:
"Napisz program, który poprosi użytkownika o wpisanie liczby naturalnej z zakresu 1..1000. Następnie wypisze na ekran tylko jedną liczbę, która jest sumą liczb od 1 do liczby podanej przez użytkownika. Program obliczy sumę używając pętli for(). Jeżeli użytkownik poda liczbę mniejszą niż 1 lub większą niż 1000, program wypisze 0.

Przykłady:

dla liczby 3 program wypiszę liczbę 6 (1+2+3)
dla liczby 5 program wypiszę liczbę 15 (1+2+3+4+5)
dla liczby 1 program wypiszę liczbę 1 (suma liczb od 1 do 1 wynosi 1)"

Mój program:
C/C++
#include <iostream>

int main()
{
    int userinput; int suma;
    std::cout << "Podaj liczbe naturalna z przedzialu 0...1000" << std::endl;
    std::cin >> userinput;
    if( userinput <= 0 || userinput > 1000 )
    {
        std::cout << "0" << std::endl;
        return 0;
    }
   
    for( int i = 1; i >= 1000; i++ )
    {
        suma = userinput *( i + i++ );
        std::cout << suma << std::endl;
    }
    return 0;
}

Problem polega na tym, że wpisując liczbę w przedziale od 1 do 1000 nic się nie wyświetla i nie wiem czy dobrze obliczyłem tą 'sume'. Zacząłem czytać coś o rekurencji, ale nie wiem czy o to chodzi, w zadaniu ma być użyta pętla 'for'. Robię akurat kurs w Kuźni Programistów i tam padło takie zadanie.
Proszę o nie zjechanie mnie za banalne pewnie zadanie i pomóżcie coś ;P
P-118181
wazxse5
» 2014-10-09 18:04:13
Poprawiłem to trochę

C/C++
#include <iostream>

int main()
{
    int userinput; int suma = 0;
    std::cout << "Podaj liczbe naturalna z przedzialu 0...1000" << std::endl;
    std::cin >> userinput;
    if( userinput <= 0 || userinput > 1000 )
    {
        std::cout << "0" << std::endl;
        return 0;
    }
   
    for( int i = 1; i < userinput + 1; i++ )
    {
        suma = suma + i;
    }
    std::cout << suma << std::endl;
    return 0;
}

Już tłumaczę o co chodzi.
Popierwsze, musisz nadać zmiennej suma wartość początkową równą zero.
Po drugie w pętli dodajesz do sumy zmienną i tyle razy ile podał to użytkownik. To jest to suma=suma+1

I tyle :)
Dla mnie to proste ale jeśli nie wyjaśniłem dobrze to pytaj :)
P-118183
LordPitex
Temat założony przez niniejszego użytkownika
» 2014-10-09 18:30:51
No, rzeczywiście proste ;P
Te 'suma = 0' to raz miałem, raz kasowałem w czasie jak szukałem błędu. Niepotrzebnie za to dawałem "i >= 1000" zamiast "i < userinput + 1" i tu był błąd. Wielkie dzięki ;)
P-118184
« 1 »
  Strona 1 z 1