[C++] Dodawanie kolejnych liczb do siebie, używając pętli 'for'
Ostatnio zmodyfikowano 2014-10-09 18:30
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: #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 |
|
wazxse5 |
» 2014-10-09 18:04:13 Poprawiłem to trochę #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 :) |
|
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 ;) |
|
« 1 » |