liczba doskonala
Ostatnio zmodyfikowano 2015-02-06 16:40
rikrosfit Temat założony przez niniejszego użytkownika |
liczba doskonala » 2015-02-06 16:05:01 Witam, ucze sie programowac, mam do napisania program ktory sprawdzi czy podana liczba z klawiatury jest liczba doskonała czyli suma jej dzielnikow własciwych jest rowna samej liczbie, napisalem program, niestety nie dziala prawidlowo, prosze o poprawienie go jak najprostszą metodą, z uwzgeldnienim komentarzy objasniajacych krok po kroku pozdrawiam ;)(w komentarzach napisalem rozumowanie mojego programu wedlug mnie, jesli popelnilem jakis bląd prosze go poprawic ) int main () { int x; int i; int suma_dzielnikow=0;
cout<< "podaj liczbe:"; cin>>x; for (x=1; x<=(x/2); x++)//petla wykonuje sie do momentu dojscia do polowy naszej liczby { if(x%i==0)// jesli liczba jest dzielnikiem to zwiekszamy sume o naszą liczbe suma_dzielnikow+=i; } if (suma_dzielnikow==x) cout<< "\nliczba jest doskonala"; else cout<<" \nliczba nie jest doskonala";
system("pause"); return 0; } |
|
aksen |
» 2015-02-06 16:20:33 cin >> x; for( x = 1; x <=( x / 2 ); x++ )
podstawowy błąd: ----------------------------- Najpierw pobierasz z cin liczbę i wpisujesz ją do x a potem w pętli wpisujesz pod x jedynkę, czyli nadpisujesz tę pobraną liczbę (x=1) W pętli do iteracji musisz użyć dodatkowej zmiennej |
|
rikrosfit Temat założony przez niniejszego użytkownika |
» 2015-02-06 16:27:04 aha no racja, tzn ze mam zadeklarowac sobie nową zmienną i w pętli for zamiast x uzyc tej nowej zmiennej tak? i to wszystko ?
int x; int i; int suma_dzielnikow=0; int l;
cout<< "podaj liczbe:"; cin>>x; for (l=1; l<=(x/2); l++)//petla wykonuje sie do momentu dojscia do polowy naszej liczby { if(x%i==0)// jesli liczba jest dzielnikiem to zwiekszamy sume o naszą liczbe suma_dzielnikow+=i;
cos takiego ? (wiem ze moge robic banalne blędy ale dopiero sie ucze :P ) |
|
aksen |
» 2015-02-06 16:32:32 Nie potrzeba nowej zmiennej, bo wystarczyło użyć zadeklarowanej już zmiennej "i" Jeśli już używasz "l" to zmień w pętli wszystkie "i" na "l".
|
|
rikrosfit Temat założony przez niniejszego użytkownika |
wyszlo » 2015-02-06 16:34:41 ok, działa dzieki wielkie jest na tym forum cos w rodzaju plusow, sogów, piw etc ? to bym Ci dał tylko jestem tu świezy :D |
|
aksen |
» 2015-02-06 16:40:04 konto założyłem wcześniej, ale działam tu dopiero od wczoraj wiec też nie wiem :) |
|
« 1 » |