Tweet |
W przypadku optymalnego rozwiązania NWD postępujemy następująco: załóżmy, że wyznaczamy NWD dwóch liczb naturalnych a i b. W każdym przejściu pętli wykonujemy dwie operacje
a = b
b = a mod b
Czynności te powtarzamy do momentu, gdy zmienna b osiągnie wartość zero. Zmienna a będzie przechowywać wtedy największy wspólny dzielnik liczb podanych na wejściu.
#include <iostream>
using
namespace
std;
int
main(){
int
a,b,c;
cout <<
"Podaj pierwsza liczbe: "
;
cin >> a;
cout <<
"Podaj druga liczbe: "
;
cin >> b;
while
(b!=0){
c = a % b;
a = b;
b = c;
}
cout <<
"Najwiekszy wspolny dzielnik: "
<< a << endl;
}
Dev-C++ jest darmowym i niezwykle popularnym wśród użytkowników systemu Windows zintegrowanym środowiskiem programistycznym IDE, obsługującym język C i C++. Z jednej strony stanowi ono doskonałe narzędzie pracy dla osób stawiających swoje pierwsze kroki w świecie programowania, z drugiej natomiast dobrze sprawdza się również podczas tworzenia rozbudowanych projektów. Dev-C++ wyposażony został we wszystkie niezbędne programiście narzędzia i funkcje, pozwalające usprawnić wykonywaną przez niego pracę.
Środowisko pomimo dużej liczby opcji jest proste w obsłudze, na co w dużym stopniu wpływa przejrzysty i intuicyjny interfejs graficzny. Umożliwia tworzenie zarówno niewielkich programików konsolowych, jak również aplikacji z interfejsem graficznym, statycznych i dynamicznych bibliotek oraz programów wykorzystujących możliwości bibliotek graficznych Direct3D lub OpenGL. Wśród oferowanych funkcji znalazł się m.in. mechanizm kart, pozwalający pracować z wieloma plikami jednocześnie (także w trybie pełnoekranowym), wbudowany klient systemu kontroli wersji CVS itp. Nie zabrakło również wysoce konfiguralnej opcji kolorowania składni, przeglądarki klas wykorzystywanych w projekcie, a także niezwykle przydatnego w tego typu oprogramowaniu mechanizmu skrótów klawiszowych, pozwalającego na sprawne i szybkie wykonywanie częstych operacji np. kompilacji kodu. Dev-C++ daje możliwość importu projektów z programu Visual C++.
Środowisko bazuje na kompilatorze GCC, a jego podstawowa funkcjonalność może być przez użytkownika dowolnie rozszerzana za pośrednictwem tzw. DevPacków o obsługę kolejnych bibliotek, szablonów itp.
Sortowanie bąbelkowe (ang. bubble sort) - prosta metoda sortowania o złożoności czasowej i pamięciowej .
Polega na porównywaniu dwóch kolejnych elementów i zamianie ich kolejności, jeżeli zaburza ona porządek, w jakim się sortuje tablicę. Sortowanie kończy się, gdy podczas kolejnego przejścia nie dokonano żadnej zmiany.