zadanie na kolosa
Ostatnio zmodyfikowano 2013-01-17 18:00
pablofafik Temat założony przez niniejszego użytkownika |
zadanie na kolosa » 2013-01-14 20:09:30 Napisz w języku C++ program, który oblicza wartość iloczynu 2*4*6*…*n, gdzie n jest liczbą parzystą wprowadzoną przez użytkownika. Stwórz dwie wersje programu, jedną z wykorzystaniem pętli WHILE i drugą z wykorzystaniem pętli FOR. Z pętlą while zrobiłem ale nie mogę sobie poradzić, jak zrobić żeby po wpisaniu liczby nieparzystej i otrzymaniu komunikatu "liczba jest nieparzysta" zakończyło program a nie jak do tej pory liczyło dalej. Oto kod z programu dev c++: #include<iostream> #include<conio.h> using namespace std; int main() { int a, b; cout << "podaj liczbę"; cin >> a; if( a % 2 != 0 ) cout << "liczba jest nieparzysta" << endl; else cout << "jedziemy dalej" << endl; int i = 2; int iloczyn = 1; while( i <= a ) { iloczyn = iloczyn *= i; i = i + 2; } cout << "iloczyn wynosi " << iloczyn << endl; getch(); return 0; } Mam jeszcze prośbę czy ktoś mógłby mi napisać dokładnie to samo tylko z wykorzystaniem pętli "for" ?? bardzo proszę... |
|
DejaVu |
» 2013-01-14 20:36:19 Nie dostaniesz u nas gotowca. PS. Zakładanie tematów na forum/edit: a jeżeli uważasz, że poprawnie napisałeś kod z pętlą while i ją rozumiesz to z pętlą for również powinieneś sobie poradzić. Pętla for |
|
pablofafik Temat założony przez niniejszego użytkownika |
» 2013-01-15 07:09:54 rozumiem... ale powyższy kod zrobiłem więc nikt mi tutaj gotowca nie zaserwuje. Jeśli chodzi o pętle for to sam sobie poradzę skoro nikt nie stara się nawet naprowadzić. Rozumiem też że odpowiedź na pierwsze pytanie czyli dlaczego mi dalej liczy po wprowadzeniu niepoprawnej liczby to też zaserwowanie gotowca? czyli obojętnie o co spytam to tak jakbym ktoś mi podrzucił gotowca tak? |
|
DejaVu |
» 2013-01-15 08:03:45 Hm... dostanie linka do konkretnego rozdziału tj. jak działa pętla for to nie jest naprowadzenie?
/edit: A co do 'liczenia' - to liczy dalej, bo tak jest program napisany. Jedyne co w nim robisz to sprawdzasz, czy liczba jest nieparzysta i wyświetlasz stosowny komunikat, po czym wykonujesz resztę kodu. |
|
pablofafik Temat założony przez niniejszego użytkownika |
» 2013-01-15 11:23:55 Dziękuję za każdą wskazówkę oczywiście.. ale chciałbym się dowiedzieć co mogę zrobić żeby po sprawdzeniu warunku parzystości liczby program wyświetlił ostrzeżenie i na tym etapie zakończył.. Męczyłem się z tym bardzo długo i niestety nie mam już pomysłu... :/ |
|
krzyk |
» 2013-01-15 12:01:10 if( a % 2 != 0 ) { } else { }
|
|
pablofafik Temat założony przez niniejszego użytkownika |
» 2013-01-16 10:01:53 Efekt po sugerowanej przez użytkownika "krzyk" zmianie kodu załączam w pliku .jpg natomiast kod programu po zmianie poniżej:
link do zdjęcia iloczyn.jp - http://img843.imageshack.us/img843/6995/iloczyn.jpg
Kod programu po zmianie :
#include<iostream> #include<conio.h> using namespace std; int main() {int a,b; cout<<"podaj liczbę"; cin>>a; if(a%2!=0){ cout<<"liczba jest nieparzysta"<<endl; }else{ } int i=2; int iloczyn=1; while(i<=a) { iloczyn=iloczyn*=i; i=i+2; } cout<<"iloczyn wynosi "<<iloczyn<<endl; getch(); return 0; }
Dlaczego nadal po wykonaniu instrukcji warunkowej program liczy iloczyn dla liczb nieparzystych...? |
|
pablofafik Temat założony przez niniejszego użytkownika |
» 2013-01-16 10:05:00 Oto efekty zmiany kodu zaproponowanej przez użytkownika "krzyk" : http://img843.imageshack.us/img843/6995/iloczyn.jpgOto cały kod programu po zmianie : #include<iostream> #include<conio.h> using namespace std; int main() { int a, b; cout << "podaj liczbę"; cin >> a; if( a % 2 != 0 ) { cout << "liczba jest nieparzysta" << endl; } else { } int i = 2; int iloczyn = 1; while( i <= a ) { iloczyn = iloczyn *= i; i = i + 2; } cout << "iloczyn wynosi " << iloczyn << endl; getch(); return 0; } Pytanie dlaczego po sprawdzeniu instrukcji program dalej oblicza iloczyn dla liczb nieparzystych? |
|
« 1 » 2 |