c++ suma cyfr liczby trzy cyfrowej

gubbi
2010-12-22 19:31
gubbi
0

Witam!

#include<iostream>
using namespace std;

int main()
{
    unsigned int ln,c1,c2,x,y;
    cin>>ln;

    for(x=0; (ln-x)%100!=0; x++) c1=ln-x-1;
    for(y=0; (x-y)%10!=0; y++) c2=x-y-1;

    c1=c1/100;
    c2=c2/10;

    cout<<c1+c2+y;

    system("pause");
} 

Program ma za zadanie znaleźć sume cyfr liczby trzy cyfrowej, jednak gdy wprowadzę liczbę 100, 200, 300,...,900 program wyświetla mi niepoprawną wartość, nie mam pomysłu jak zmodyfikować kod, żeby działał poprawnie?

Pozostało 580 znaków

2010-12-22 19:35
Moderator

Rejestracja: 16 lat temu

Ostatnio: 23 minuty temu

0

o_O

int liczba;
cin>>liczba;
cout<<(liczba%10)+(liczba/10)%10+(liczba/100)%10;

Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

gubbi
2010-12-22 19:40
gubbi
0

wow, dzięki:D

Pozostało 580 znaków

marcin
2011-02-16 17:21
marcin
0

witam mam taki problemik ze stwozeniem ów programu.. chodzi o to aby wyświetlał sume liczb 3 cyfrowych wiekszych od 20... yyy... pomocy.. co mam dodać do tego kodu? i w którym miejscu? bo programik hula.. tylko.. liczy a nie wyświetla tych wszystkich możliwych liczb.. pozdrawiam

Pozostało 580 znaków

2011-02-16 17:43
Moderator

Rejestracja: 16 lat temu

Ostatnio: 23 minuty temu

0

To co on ma wyświetlać? Liczby których suma cyfr jest większa od 20? Puść sobie pętle...


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

marcin
2011-02-16 18:03
marcin
0

ma wyświelac sume trzycyfrowych liczb wiekszych od 20 np 777 = 21... itd.. blady jestem z programowania dla tego prosze o pomoc..

Pozostało 580 znaków

2011-02-16 18:13
Moderator

Rejestracja: 16 lat temu

Ostatnio: 23 minuty temu

0

Ty jesteś glupi, czy po prostu nie umiesz pisać po polsku? To co podałeś, tzn 777 = 21 to jest SUMA CYFR liczby trzycyfrowej. Więc co ten program ma robić w końcu?
Bo gdyby mial wypisywać to co napisałeś, tzn "sume trzycyfrowych liczb wiekszych od 20" (btw każda liczba trzycyfrowa jest większa od 20, bo najmniejsza liczba trzycyfrowa to 100) to wynik byłby:
100+101+...+999
O to ci chodzi?
(wiem ze nie, ale próbuje cie zmusić do myślenia...)


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

marcin
2011-02-16 18:25
marcin
0

"Napisz program, który bedzie wyświetlał wszystkie liczby trzycyfrowe, których suma cyfr jest wieksza od 20." jak już mówiłem nie jestem w tym mocny.. stwierdzenie iż pętla załatwi wszysko nic mi nie mówi.. ok żle sprecyzowałem swoje zapytanie.. myslę że teraz wszysko juz jest jasne o co chodzi.

Pozostało 580 znaków

2011-02-16 18:40
Moderator

Rejestracja: 16 lat temu

Ostatnio: 23 minuty temu

0

No brawo. Wiesz juz też ze

int suma = (liczba%10)+(liczba/10)%10+(liczba/100)%10;

Podaje ci ile wynosi suma cyfr liczby trzycyfrowej. Teraz należy tylko przelecieć po liczbach od 100 do 999 (mozesz nie wiedzieć, ale zaręczam że będą to wszystkie liczby trzycyfrowe) i wypisywać te liczby dla których podany wyżej wzrór zwraca wiecej niz 20.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2011-02-16 18:49

Rejestracja: 10 lat temu

Ostatnio: 1 rok temu

0

Nudzi mi się

for(int a = 100; a != 999; a++)
{
    if(((a%10)+(a/10)%10+(a/100)%10) > 20)cout << a << " ";
}  

Jak jest jakiś bład to poprawcie
PS Był błąd. Poprawiono
PS2 Trochę zoptymalizowałem


edytowany 3x, ostatnio: Macron, 2011-02-16 19:01

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 0, botów: 1

Robot: Bingbot