Hej ogarnięci !!!

Języki programowania

NWD algorytm Euklidesa

 

Algorytm Euklidesa – algorytm wyznaczania największego wspólnego dzielnika dwóch liczb. Został opisany przez greckiego matematyka, Euklidesa w jego dziele "Elementy", w księgach siódmej oraz dziesiątej.
Zoptymalizowany algorytm Euklidesa

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;

}

Kod w C++ sortowanie napisu

Algorytm sortowania bąbelkowego porównuje dwa sąsiadujące elementy tablicy.  Jeżeli element n jest większy od elementu n+1, wtedy zostają one zamienione miejscami. Algorytm powtarza się w koło do czasu, kiedy nie zachodzą żadne zmiany, czyli do czasu kiedy tablica nie zostanie posortowana. Elementami tablicy mogą być cyfry lub litery.
 
 
#include <cstdlib>
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string napis="ahsvgedyfsabvdgdwhgfddgvcvchqw";
 
    for(int i=0;i<napis.length()-1;i++)
        for(int j=0;j<napis.length()-1;j++)
            if(litery[j]>napis[j+1])
                swap(napis[j],napis[j+1]); //funkcja swap(a,b) - przypisuje wartość obiektu a obiektowi b i wartość obiektu b obiektowi a.
 
    cout<<napis<<endl<<endl;
 
    system("PAUSE");
    return 0;
}

Kod w C++ sortowanie tablicy liczb

 

Sortowanie bąbelkowe (ang. bubble sort) - prosta metoda sortowania o złożoności czasowej O(n^2) i pamięciowej O(1).

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.

 

 

C++ i środowisko programistyczne

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.