Wiek: 17 Dołączył: 10 Mar 2008 Posty: 117 Skąd: Jarocin
Wysłany: 2008-08-17, 19:24 NWD
Napisałem program obliczajaacy nwd a do jego zrobienia uzyłem Algorytm Euklidesa ale nie wiem do konca na jakiej zasadzie on dziala... prosilbym o wytlumaczenie linijka po linijce funkcji nwd
Kod:
#include <iostream.h>
#include <string.h>
int nwd(int a, int b)
{
while(b)
{
int r=a%b;
a=b;
b=r;
}
return a;
}
int nwd(int a, int b) //naglowek funkcji typ zwracanej wartosci , nazwa , oraz pobierane argumenty.
{
while(b) // dopuki b petla zaczyna dzialac
{
int r=a%b; // do zmiennej przypisana zostaje wartosc reszty dzielenia a przez b
a=b; // przypisanie do a wartosci b
b=r; // przypisanie do b wartosci r
}
return a; // funkcja zwraca wartosc a
}
oraz z maina
Kod:
cout << nwd(a,b) << endl;// wywolanie funkcji
_________________ Gość Przeczytaj regulamin zanim zaczniesz przygode z forum.
Przed napisaniem nowego tematu uzyj opcji szukaj
Ostatnio zmieniony przez marczak 2008-08-17, 21:44, w całości zmieniany 1 raz
while(b) // jesli podasz b bo tak wynika z programu to petla sie zacznie
Pętla będzie się"obracać" tak długo jak wartość b jest różna od zera (NULL).
Co do zasady działania: weź przykładową liczbę i postępuj z nią tak jak w programie. To pomaga...
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum