[C++] Największa Wspólna Wielokrotność

deafmute
Użytkownik
Użytkownik
Posty: 48
Rejestracja: 15 sty 2011, o 17:50
Płeć: Kobieta
Lokalizacja: Wilcza

[C++] Największa Wspólna Wielokrotność

Post autor: deafmute »

Kod: Zaznacz cały

#include<stdio.h>
#include<math.h>

int main()
{
int a,b,c,d;

{
printf("Podaj pierwszą liczbę a= 
");
scanf("%d", &a);
printf("Podaj drugą liczbę b= 
");
scanf("%d", &b);

d=a*b;

    while (b!=0){
        c = a % b;
        a = b;
        b = c;
        }

printf("NWW tych liczb to %d.", d/b);

return 0;
}}

powiedzcie mi co mam w tym źle;) program nie chce mi działać niestety niby łatwy ale programowanie to nie jest moja dobra strona
Ostatnio zmieniony 21 cze 2011, o 11:22 przez Afish, łącznie zmieniany 2 razy.
Powód: Kod w [code][\code]!
PMichalak
Użytkownik
Użytkownik
Posty: 125
Rejestracja: 29 paź 2009, o 20:03
Płeć: Mężczyzna
Lokalizacja: Kalisz
Podziękował: 1 raz
Pomógł: 16 razy

[C++] Największa Wspólna Wielokrotność

Post autor: PMichalak »

Kod: Zaznacz cały

#include<stdio.h>
#include<math.h>

int gcd(int a, int b)
{
    int c;
    while (b!=0)
    {
        c = a % b;
        a = b;
        b = c;
    }
    return a;
}

int main()
{
    int a,b;
    printf("Podaj pierwszą liczbę a= 
");
    scanf("%d", &a);
    printf("Podaj drugą liczbę b= 
");
    scanf("%d", &b);
    printf("NWW tych liczb to %d.", a*b/gcd(a,b));
    return 0;
}
Wywaliłem liczenie NWD do oddzielnej funkcji..
Pętla while kończy się u Ciebie, gdy b = 0, a następnie dzielisz przez nie. Po przerwaniu pętli while NWD jest przechowywane w zmiennej a, nie b.
deafmute
Użytkownik
Użytkownik
Posty: 48
Rejestracja: 15 sty 2011, o 17:50
Płeć: Kobieta
Lokalizacja: Wilcza

[C++] Największa Wspólna Wielokrotność

Post autor: deafmute »

super!
Dzięki za pomoc
ODPOWIEDZ