Witam
Od nie dawna zacząłem z własnej nieprzymuszonej woli naukę C++. W kursie “Od zero do hackera” w temacie o pętlach for było zadanie żeby
To akurat jest proste, ale chciałem dać trochę więcej “bajeru” programowi i wymyśliłem żeby nie ograniczać się tylko od 0 do 10 ale żeby w czasie programu ustalić zakres zbioru. Problem polega na tym, że jeżeli początek zbioru zdefiniujemy liczbą nieparzystą to program dalej pokazuje tylko właśnie liczby nieparzyste. Wyjaśnieniem jest instrukcja wykonywana po każdym uruchomieniu pętli tzw n=n+2. Z logicznego punku widzenia jest to raczej prawidłowe, ponieważ faktycznie co druga liczba jest parzysta. Moje brzmi następująco: co mam wstawić żeby program prawidłowo pokazywał liczby parzyste bez względu na początek zbioru. Jestem niemal 100% pewny że rozwiązanie tkwi w użyciu instrukcji if ,ale w żaden sposób nie umiem wymyśleć jak mam ją opisać. Normalnie w życiu, w algebrze, liczbę można sprawdzić czy jest parzysta czy nie dzieląc ją przez 2, jeżeli wynik będzie całkowity no to liczba jest parzysta, jeżeli ułamek no to nie.
Oto kod
#include
#include
main()
{
int n, x, a; //deklaracja zmienncyh
cout<<"Witam!\n";
cout<<"Ten program ma za zadanie ukazac wszytskie liczby parzyste\n";
cout<<"w zdefiniowanym przez Ciebie zbiorze\n";
cout<<"Podaj od jakiej liczby ma zaczynac sie zbior: ";
cin>>a; //definiowanie liczby rozpoczynajacej zbior
cout<<"\nA teraz na jakiej ma sie zakonczyc: ";
cin>>x; //definiowanie liczby konczacej zbior
cout<<"W zbiorze od "<
for (n=a; n<=x; n=n+2)/*przypisanie n zdefiowanej zmiennej a (pocztake zbioru)
;ostatnia liczba TRUE(koniec zbioru); zmienna n jest
zwiekszana za kazdym razem o 2*/
{
cout<
cout<
}
getch();
}
[/code]
Z góry wielkie dziękuje za pomoc!!
POZDRO :twisted: