C++

TYPY DANYCH

 

Typ Rozmiar Zakres Uwagi
  signed unsigned  
Bool 1 bit przyjmuje wartość true albo false  
Char 1 bajt -128
127
0
255
 
Wchar t 2 bajty 1 znak Unicode reprezentuje znak Unicode
Int 2 lub 4 bajty zależnie od rozmiaru, taki jak: short lub long int rozmiar zależy od kompilatora
Short Int 2 bajty -32768
32767
0
65535
 
Long Int 4 bajty -2147483648
2147483647
0</b>
4294967295
 
Long Long Int 8 bajtów -9223372036854775808
9223372036854775807
0
18446744073709551615
 
Float 4 bajty 3.4e +/- 38 (7 znaków) typ zmiennoprzecinkowy
Double 8 bajtów 1.7e +/- 308 (15 znaków) typ zmiennoprzecinkowy
Long Double 8, 10 lub 12 bajtów 1.7e +/- 308 (15 znaków) typ zmiennoprzecinkowy
Void     reprezentuje brak typu

 

 

Deklaracja zmiennych

 

#include <iostream>
using namespace std;
int main()
{
    int IloscBananow;
    int IloscPomaranczy;
    IloscBananow = 15;
    IloscPomaranczy = 22;
    cout << "Banany : " << IloscBananow << endl;
    cout << "Pomarancze : " << IloscPomaranczy << endl;
    cout << "Razem zakupy : " << IloscBananow + IloscPomaranczy << endl;
    IloscPomaranczy = 100;
    cout << "Pomarancze : " << IloscPomaranczy << endl;
    return 0;
}

 

 

Rozmiar zmiennej

 

#include <iostream>
#include <cstdio>
int main()
{
    std::cout << "sizeof(bool) = " << sizeof( bool ) << std::endl;
    std::cout << "sizeof(char) = " << sizeof( char ) << std::endl;
    std::cout << "sizeof(unsigned char) = " << sizeof( unsigned char ) << std::endl;
    std::cout << "sizeof(wchar_t) = " << sizeof( wchar_t ) << std::endl;
    std::cout << "sizeof(short) = " << sizeof( short ) << std::endl;
    std::cout << "sizeof(unsigned short) = " << sizeof( unsigned short ) << std::endl;
    std::cout << "sizeof(int) = " << sizeof( int ) << std::endl;
    std::cout << "sizeof(unsigned int) = " << sizeof( unsigned int ) << std::endl;
    std::cout << "sizeof(long) = " << sizeof( long ) << std::endl;
    std::cout << "sizeof(unsigned long) = " << sizeof( unsigned long ) << std::endl;
    std::cout << "sizeof(long long) = " << sizeof( long long ) << std::endl;
    std::cout << "sizeof(float) = " << sizeof( float ) << std::endl;
    std::cout << "sizeof(double) = " << sizeof( double ) << std::endl;
    std::cout << "sizeof(long double) = " << sizeof( long double ) << std::endl;
    return 0;
}

 

 

Stała

 

#include <iostream>
using namespace std;
const int stala = 521;
int main()
{
    int suma, zmienna = 200;
    suma = zmienna + stala;
    cout << suma << endl;
    return 0;
}

 

 

Operacje matematyczne

 

#include <iostream>
using namespace std;
int main()
{
    int ciacha = 8, koszyki = 2, suma = 0;
    suma = ciacha + koszyki;
    cout << ciacha + koszyki << endl;
    cout << suma << endl;
    cout << ciacha - koszyki << endl;
    cout << ciacha * koszyki << endl;
    cout << double(ciacha) / double(koszyki) << endl;
    cout << ciacha % koszyki << endl;
    return 0;
}

 

Wskaźniki


#include <iostream>
using namespace std;

int main()
{
    int woda = 10, kawa = 20, cukier = 30;
    int *wsk_woda = &woda, *wsk_kawa = &kawa, *wsk_cukier = &cukier;
    cout << " Woda + kawa = " << *wsk_woda + *wsk_kawa << endl;
    cout << " Cukier - kawa = " << *wsk_cukier - *wsk_kawa << endl;
    cout << " Woda * kawa * cukier = " << *wsk_woda * *wsk_kawa * *wsk_cukier << endl;
    return 0;
}

 

Obliczanie wieku

 

#include <iostream>
#include <string>
#include <windows.h>
using namespace std;

int main()
{
   SYSTEMTIME dzis;
   GetLocalTime(&dzis);
   int rok = 2015, rok_urodzenia;
   string imie;
   cout << "Podaj swoje imie : ";
   cin >> imie;
    cout << "Wprowadz rok urodzenia : ";
   cin >> rok_urodzenia;
   cout << "\n \n \n" << imie << " masz juz " << rok - rok_urodzenia << " lat" << endl;
   return 0;
}

 

Tablice

 

#include <iostream>
#include <string>
using namespace std;
int main()
{
    int liczby[5] = {1, 2, 3, 4, 5};
    double ceny[3] = {2.59, 3.49, 132.99};
    char literki[5] = {'k', 'u', 'r', 's', '\0'};
    string  imiona[4] = {"ala", "ola", "ewa", "jola"};
    char imie[6] = "Tomek";
    cout << liczby[3] << endl;
    cout << ceny[2] << endl;
    cout << literki << endl;
    cout << imiona[3] << endl;
    cout << imie[2] << endl;
    return 0;
}

 

Tablice wielowymiarowe

 

 

#include <iostream>
#include <string>
using namespace std;

int main()
{
    //int produkty[3][5] = {};
    int produkty[3][5] = {
        {1, 10, 5, 258, 32},
        {2, 20, 8, 25, 69},
        {3, 33, 23, 4, 147}
        };
    cout << produkty[2][4] << endl;
    return 0;
}

 

Tablice wybór produktu

 

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string nazwa_produktu[5] = {"czekolady", "ciastka", "cukierki", "batoniki", "lizaki"};
    double cena_produktu[5] = {2.99, 3.15, 4.21, 5.16, 4.12};
    int id_produktu;
    cout << "Podaj ID produktu (1-5) : ";
    cin >> id_produktu;
    id_produktu--;
    cout << "\n Towar : " << nazwa_produktu[id_produktu] << " , cena : " << cena_produktu[id_produktu] << " zl " << endl;
    return 0;
}

 

Pętla while

 

#include <iostream>
#include <string>
using namespace std;
int main()
{
 /*   int licznik = 1;
    while(licznik <= 26)
    {
        cout << "Witaj w kursie C++, po raz : " << licznik << endl;
        licznik++;
    }
 */
 int licznik = 26;
    while(licznik >= 1)
    {
        cout << "Witaj w kursie C++, po raz : " << licznik << endl;
        licznik--;
    }
  return 0;
}

 #include <iostream>
int main()
{

 

Pętla do while


    int ile = 4;
    do
    {
        std::cout << "Napis" << std::endl;
        ile--;
    } while( ile > 0 );
        return 0;
}

 

Pętla for

 

#include <iostream>
#include <string>
using namespace std;
int main()
{
    int licznik;
    for(licznik = 20; licznik >= 1; licznik--)
    {
        cout.width(licznik);
        cout.fill('*');
        cout << licznik << endl;
    }
   return 0;
}

 

Metki

 

#include <iostream>
#include <string>

using namespace std;
int main()
{
    double produkty[5][5] = {
        {1, 100, 5, 10, 2},
        {2, 9.61, 5, 25, 5},
        {3, 8.52, 8, 18, 3},
        {4, 10.25, 8, 36, 6},
        {5, 100, 23, 4, 1}
    };

    int licznik;
    double cena_brutto;
    for(licznik = 0; licznik <= 4; licznik++)
    {
        cena_brutto = produkty[licznik][1] + ((produkty[licznik][2] / 100) * produkty[licznik][1]);
        cout << "Towar ID : " << produkty[licznik][0] << endl;
        cout << "Cena netto : " << produkty[licznik][1] << endl;
        cout << "Cena brutto : " << cena_brutto << endl;
        cout << "Stawka VAT : " << produkty[licznik][2] << " % " << endl;
        cout << "Cena za pudelko : " << produkty[licznik][3] * cena_brutto << " zl " << endl;
        cout << "-----------------------------------------" << endl;

    }
    return 0;
}

 

Silnia

 

#include <iostream>
#include <cstdlib>
 using namespace std;
 
int main()
{
    int s;
    long long silnia = 1;
     cout << "podaj liczbe" << endl;
    cin >> s;
     for (int i = 1; i<=s;i++)
        silnia *= i;
     cout << silnia << endl;
     system("PAUSE");
    return(0);
}

 

Petla w pętli (tabliczka mnożenia)

 

#include <iostream>
#include <string>
using namespace std;
int main()
{
    int kolumna, wiersz;
    for(wiersz = 1; wiersz <= 10; wiersz++)
    {
        for(kolumna = 1; kolumna <= 10; kolumna++)
        {
            cout.width(3);
            cout << kolumna * wiersz;
        }
        cout << endl;
    }
    return 0;
}

 

Instrukcja warunkowa

 

#include <iostream>
#include <string>
using namespace std;

int main()
{
    int zakupy;
    cout << "podaj wartosc zakupu : ";
    cin >> zakupy;
    if(zakupy >= 10 && zakupy <= 100)
    {
        cout << "Promocja 2 % \n";
    }
    else if(zakupy > 100 && zakupy <= 150)
    {
        cout << "Promocja 4 % \n";
    }
    else
    {
        cout << "brak promocji \n";
    }
     main();
    return 0;
}

 

Warunek wielokrotnego wyboru

 

#include <iostream>
#include <string>
using namespace std;
int main()
{
    char strefa;
    cout << "Wybierz strefe parkowania [A; B; C; D] : ";
    cin >> strefa;

    switch(strefa)
    {
    case 'a':
    case 'A':
        cout << "Strefa : " << strefa << "\n\n";
        cout << "Koszt parkingu 2,00 zl \n\n";
        break;
    case 'b':
    case 'B':
        cout << "Strefa : " << strefa << "\n\n";
        cout << "Koszt parkingu 3,00 zl \n\n";
        break;
    case 'c':
    case 'C':
        cout << "Strefa : " << strefa << "\n\n";
        cout << "Koszt parkingu 4,00 zl \n\n";
        break;
    case 'd':
    case 'D':
        cout << "Strefa : " << strefa << "\n\n";
        cout << "Koszt parkingu 10,00 zl \n\n";
        break;
    default:
        cout << "nie znam takiej strefy \n\n";
        break;
    }
    main();
    return 0;
}

 

Funkcja void

 

#include <iostream>
#include <string>
using namespace std;
void metki(string nazwa_towaru, double cena_netto, double stawka_vat);
int main()
{
    string nazwa[5] = {"myszka", "klawiatura", "monitor", "laptop", "tablet"};
    int netto[5] = {65, 120, 450, 1650, 450};
    int vat[5] = {23, 23, 23, 5, 5};

    for(int licznik = 0; licznik <= 4; licznik++)
    {
        metki(nazwa[licznik], netto[licznik], vat[licznik]);
    }
    return 0;
}
void metki(string nazwa_towaru, double cena_netto, double stawka_vat)
{
    cout << "-------------------- \n";
    cout << "Nazwa towaru : " << nazwa_towaru << " \n";
    cout << "Cena netto : " << cena_netto << " zl \n";
    cout << "VAT : " << stawka_vat << " % \n";
    cout << "Cena brutto : " << cena_netto +(cena_netto*(stawka_vat/100)) << " zl \n";

}

 

Sortowanie bąbelkowe

 

#include <iostream>

#include <cstdio>

using namespace std;

 

void PokazStan();

const int ile = 5;

int tab[ile]; //tab[0], tab[1], tab[2], tab[3], tab[4]

 

int main()

{

    //WCZYTYWANIE WARTOŚĆI

    for (int i = 0; i < ile; i++)

    {

        cout <<"Podaj "<<i+1<<" liczbe: ";

        cin >>tab[i];

        cin.ignore();

    }

 

    //WYPISYWANIE STANU

    PokazStan();

 

    int temp;

    // SORTOWANIE BĄBELKOWE

    for (int i = 0; i < ile - 1; i++)

    {

                    PokazStan();

      //PokazStan(); Dla prezentacji naszego sortowania :)

      for (int j = 0; j < ile - 1; j++) // np. 4 2 5 1 7 -> 2 4 5 1 7 -> 2 4 5 1 7 -> 2 4 1 5 7 -> 2 4 1 5 7 -> 2 4 1 5 7 - > 2 1 4 5 7

      {

        if (tab[j] > tab[j+1])

        {

            temp = tab[j];

            tab[j] = tab[j+1];

            tab[j+1] = temp;

        }

      }

    }

    //WYPISANIE STANU PO SORTOWANIU

    PokazStan();

    getchar();

    return 0;

}

void PokazStan()

{

     cout <<"Nasza tablica wyglada w kolejnosci nastepujaco: \n";

     for (int i = 0; i < ile; i++)

     {

         cout <<i+1<<". = "<<tab[i]<<"\n";

     }

}

 

MIN MAX

#include <iostream>

 

using namespace std;

 

int main()

{

    /*I SPOSÓB

    const int ile = 5;

    int tab[ile], minx;

    

    for( int i = 0; i < ile; i++)

    {

         cout <<"Podaj liczbe "<<i+1<<": ";

         cin >>tab[i];

         cin.ignore();

         if (i == 0)

          minx = tab[i];

         else if (tab[i] < minx)   //4 -4 20 40 -> minx = -4 Aby znalesc max wart. else if (tab[i] > minx)

          minx = tab[i];

    }

    

    cout <<"Minimalna liczba z podanych to: "<<minx;

    */

    

    const int ile = 5;

    int tab[ile], k = 0;

    

    for (int i = 0; i < ile; i++)

    {

        cout <<"Podaj "<<i+1<< " element: ";

        cin >>tab[i];

        cin.ignore();

    }

    

    for (int i = 1; i < ile; i++)

     if (tab[i] > tab[k]) //4 -4 20 40 -> k = 1  // Aby znalesc max wart. if (tab[i] > tab[k])

       k = i;

       

    cout <<"\nMaksymalna liczba to: "<<tab[k];

    cout <<"\nTablica ta posiada indeks: "<<k;

    cout <<"\nZostala ona wpisana jako: "<<k+1;

        

    

    getchar();

    return 0;

 

 

 

Sortowanie przez wybór

 

#include <iostream>

 

using namespace std;

 

void PokazStan();

 

const int ile = 4;

int tab[ile];

 

int main()

{

    for (int i = 0; i < ile; i++)

    {

        cout <<"Podaj "<<i+1<<" liczbe ";

        cin >>tab[i];

        cin.ignore();

    }

    

    PokazStan();

    

    int k, t;

    

    for(int i = 0; i < ile - 1; i++)

    {         

       

         k = i;                             //    5       4       60      23

         for(int j = i + 1; j < ile; j++)   // tab[0] , tab[1], tab[2], tab[3]

           if (tab[j] < tab[k])             //    4       5       60      23 - PO 1 PRZEJSCIU                                       

             k = j;

             

         t = tab[i];

         tab[i] = tab[k];

         tab[k] = t;

    }

    

    PokazStan();    

 

    getchar();

    return 0;

}

 

void PokazStan()

{

     cout <<"Nasza tablica wyglada w kolejnosci nastepujaco: \n";

     for (int i = 0; i < ile; i++)

     {

         cout <<i+1<<". = "<<tab[i]<<"\n";

     }

 

}

 

}

 

 

Sortowanie przez wstawianie

 

#include <iostream>

 

using namespace std;

 

void PokazStan();

const int ile = 5;

int tab[ile];

 

int main()

{

    for (int i = 0; i < ile; i++)

    {

        cout <<"Podaj "<<i+1<<" liczbe: ";

        cin >>tab[i];

        cin.ignore();

    }

    

    PokazStan();

    

    int x, i, j;

    

    for (j = ile - 2; j >= 0; j--) //j = 2

    {

        x = tab[j]; //x = 8

        i = j + 1;  //i = 5

        while ((i < ile) && (x > tab[i])) // tab[0] tab[1] tab[2] tab[3] tab[4]

        {                                 //   2       3     4      5      8

           tab[i-1] = tab[i];

           i++;    

        }

        tab[i-1] = x;

    }

    

    

    PokazStan();

    

    getchar();

    return 0;    

}

void PokazStan()

{

     cout <<"Nasza tablica wyglada w kolejnosci nastepujaco: \n";

     for (int i = 0; i < ile; i++)

     {

         cout <<i+1<<". = "<<tab[i]<<"\n";

     }

}

_______________________________________________________________________________________________________

 /* przedstawienie algorytmu sortowania przez wstawienie */

    tab[0] tab[1] tab[2] tab[3] tab[4]

      4      3      8      5      2

  

              "RUNDA"  I

   ile jest rowne 5 (wielkość tablicy)

   j przypisujemy ile - 2, czyli 5 - 2 = 3 

   x przypisujemy tab[j] czyli tab[3] = 5 

   i przypisujemy j + 1 czyli 3 +  1 = 4 

   

   Sprawdzamy warunek

    ( i < ile ) I ( x > tab[i] )  i = 4, czyli

    ( 4 < 5 ) I ( 5 > 2)

            PRAWDA

   tab[i-1], czyli tab[4-1], czyli tab[3] (wart. 5) przypisujemy 2

   

   

             //STAN TABLICY

    tab[0] tab[1] tab[2] tab[3] tab[4]

      7      3      8      2      2   

   

   inkrementacja i z czego wynika, że i = 5

       Sprawdzamy warunek

       Czy 5 < 5

       FAŁSZ

   

   tab[i-1], czyli tab[5-1] przypisujemy x, czyli 5

   

          //STAN TABLICY

    tab[0] tab[1] tab[2] tab[3] tab[4]

      7      3      8      2      5    

      

          "RUNDA" II

 

       //STAN TABLICY          

    tab[0] tab[1] tab[2] tab[3] tab[4]

      7      3      8      2      5   

      

    j dekrementujemy czyli j = 2

    

    x przypisjuemy tab[j], czyli tab[2], x = 8

    

    i przypisujemy j + 1, czyli 2 + 1 = 3; i = 3;

    

     Sprawdzamy warunek

     Czy ( 3 < 5 ) I ( 8 > 2)

            PRAWDA

            tab[3-1], czyli tab[2] przypisujemy 2

 

              //STAN TABLICY     

     tab[0] tab[1] tab[2] tab[3] tab[4]

      7      3       2      2     5    

      

     inkrementujemy i, czyli i = 4

     

     Sprawdzamy warunek poraz drugi

     

       Czy ( 4 < 5 ) I ( 8 > 5 )

                   PRAWDA

                   

      tab[i-1], czyli tab[3] przypisujemy 5

 

              //STAN TABLICY      

     tab[0] tab[1] tab[2] tab[3] tab[4]

      7      3      2      5      5    

      

      inkrementujemy i, czyli i = 5

      

      Sprawdzamy warunek poraz trzeci

      

        Czy ( 5 < 5 ) I ( 8 > tab[5] ) //pierwszy warunek fałasz, a tab[5] nie istnieje tam są flaki ;)

                   FAŁSZ

                   

        tab[i-1] przypisujemy x, czyli tab[4] przypisujemy 8

        

      tab[0] tab[1] tab[2] tab[3] tab[4]

      7      3      2      5      8

      

      I TAK DALEJ AŻ OTRZYMAMY:

              

      tab[0] tab[1] tab[2] tab[3] tab[4]

 

        2      3       5      7     8

________________________________________________________________________________________________________

 

Sortowanie szybkie

 

 

 #include <iostream>

 

using namespace std;

 

void Sort(int, int);

void PokazStan();

const int ile = 5;

int tab[ile] = { 5, 60, 10, 40, 3 };

 

int main()

{

    

    PokazStan();

    

    Sort(0, ile - 1); //ile = 5

    

    PokazStan();

    

    getchar();

    return 0;

}

void Sort(int lewy, int prawy) // stary lewy = 0,  stary prawy = 4 // lewy = 3, prawy = 4                            

{

     int i, j, t, piwot;

     

     i = (lewy + prawy) / 2; // i = 4, j = 3, stare j = 2;

     piwot = tab[i];         // piwot = 40

     tab[i] = tab[prawy];

     

                             // tab[0] tab[1] tab[2] tab[3] tab[4]

                             //   3      5     10     40      60

                             

     for (j = i = lewy; i < prawy; i++)

       if(tab[i] < piwot)

       {

          t = tab[i];  // t = 3

          tab[i] = tab[j]; 

          tab[j] = t;

          j++;

       }

     

     tab[prawy] = tab[j];

     tab[j] = piwot;

     

     if(lewy < j - 1)

       Sort(lewy, j - 1);

     if(j + 1 < prawy)

       Sort(j + 1, prawy);

}

 

void PokazStan()

{

     cout <<"Nasza tablica wyglada w kolejnosci nastepujaco: \n";

     for (int i = 0; i < ile; i++)

     {

         cout <<i+1<<". = "<<tab[i]<<"\n";

     }

}

 

Liczby pierwsze

 

// Sprawdzanie czy liczba jest liczbą pierwszą

 #include <iostream>
#include <cmath>


using namespace std;
bool Test(int);

int main()
{
int a;

cout <<"Podaj liczbe ktora sprawdze czy jest liczba pierwsza: ";
cin >>a;
cin.ignore();

if (Test(a))
cout <<"Liczba ta jest liczba pierwsza";
else
cout <<"Liczba ta nie jest liczba pierwsza";


getchar();
return 0;
}

bool Test(int a)
{
if (a<=1) return false;

for (unsigned int i = 2; i <= sqrt(a); i++)
{
if (!(a % i))
return false;
}

return true;
}

 

Generacja liczb pierwszych

 

 // Generacja liczb pierwszych!
 #include <iostream>
#include <cmath>

using namespace std;
bool Test(int);

int main()
{
int a = 2, ile;

cout <<"Ile liczb pierwszych mam wygenerowac? ";
cin >>ile;
cin.ignore();

for (unsigned int i = 0; i < ile; i++)
{
if(Test(a))
{
cout <<i+1<<". =="" "<<a<<"\n";<br=""> }
else i--;
a++;
}


getchar();
return 0;
}

bool Test(int a)
{
if (a <= 1) return false;

for (unsigned int i = 2; i <= sqrt(a); i++)
{
if (!(a % i))
return false;
}

return true;
}

 

Sito Eratostenesa

// Sito Eratostenesa
 #include <iostream>

using namespace std;

int main()
{
bool tab[10000];
unsigned int i, w, ile;

cout <<"Do jakiej liczby mam wypisywac liczby pierwsze? ";
cin >> ile;
cin.ignore();

if (ile > 10000)
cout <<"Podales ich zbyt duzo";
else
{
for (i = 2; i <= ile; i++)
tab[i] = true;

for (i = 2; i <= ile; i++) // i = 7, ile = 100
{
if ( (i != 2) && (i % 2 == 0) )
i++;

w = i + i;
while (w <= ile)
{
tab[w] = false;
w += i;
}
}
}


for (i = 2; i <= ile; i++)
if (tab[i])
cout <<i<<", ";

return 0;
}

 

Algorytm Euklidesa

 

 

 

 #include <iostream>

using namespace std;

int NWD(int, int);

int main()
{
int a, b;

cout <<"Podaj dwie liczby z ktorych mam znalesc NWD: \n";
cin >>a >>b;
cin.ignore();

cout <<nwd(a,b);

getchar();
return 0;
}

int NWD(int a, int b)
{
while(a != b)
{
if (a > b)
a = a - b;
else // else if ( b < a)
b = b - a;
}

return a;
}

 

Algorytm Euklidesa 2

 

 

 #include <iostream>

using namespace std;

int NWD(int, int);

int main()
{
int a, b;

cout <<"Podaj dwie liczby z ktorych mam znalesc NWD: \n";
cin >>a >>b;
cin.ignore();

cout <<nwd(a,b);

getchar();
return 0;
}

int NWD(int a, int b)
{
while(a != b)
{
if (a > b)
a = a - b;
else // else if ( b < a)
b = b - a;
}

return a;
}

 

 ______________________________________________________________________________

 

SZYFR CEZARA

 

/*

tekst  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

szyfr   D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

*/

 

#include <iostream>

#include <string>

#include <cstdio>

 

using namespace std;

 

string Zaszyfrowanie(string);

string Odszyfrowanie(string);

 

const int ile = 3;

 

int main()

{

    string slowo;

 

    cout <<"Podaj slowo do zaszyfrowania: ";

    cin >>slowo;

    cin.ignore();

 

    cout <<"Zaszyfrowane dane: "<<Zaszyfrowanie(slowo)<<"\n";

 

    cout <<"A odszyfrowane to: "<<Odszyfrowanie(Zaszyfrowanie(slowo));

 

    getchar();

    return 0;

}

string Zaszyfrowanie(string slowo)

{

   int t;

 

   for (int i = 0; i < slowo.length(); i++)

   {

       t = slowo[i] + ile;

 

       if (t < 0)

        slowo[i] += (26 + ile);

       else if (t > 90)

        slowo[i] -= (26 - ile); //slowo[i] = slowo[i] - (26 - ile) = slowo[i] - 26 + ile;

       else

        slowo[i] += ile;

   }

 

   return slowo;

}

string Odszyfrowanie(string slowo)

{

   int t;

 

   for (int i = 0; i < slowo.length(); i++)

   {

       t = slowo[i] - ile;

 

       if (t < 65)

        slowo[i] += (26 - ile);

       else if (t > 90)

        slowo[i] -= (26 + ile);

       else

        slowo[i] -= ile;

   }

 

   return slowo;

}

 

_______________________________________________________________________________________________________

 

SILNIA REKURENCYJNIE

 

#include <iostream>

 

using namespace std;

 

//5! = 5 * 4! = 5 * 4 * 3! = 5 * 4 * 3 * 2! = 5 * 4 * 3 * 2 * 1! = 5 * 4 * 3 * 2 * 1 = 120

 

unsigned int silnia(int);

 

int main()

{

    int ile;

    

    cout <<"Z ilu chcesz obliczyc silnie ?? ";

    cin >>ile;

    cin.ignore();

    

    cout <<"Silnia z  "<<ile<<" to "<<silnia(ile);

    

 

    

    getchar();

    return 0;

}

 

unsigned int silnia(int n) // n = 4 , nn = 3, nnn = 2, nnnn = 1

{

   if (n == 0 || n == 1)

     return 1;

   else     

     return n * silnia(n - 1); // 4 * silnia ( 3) // 3 * silnia ( 2 ) // 2 * silnia (1) // 1 * silnia (0 )

 

 

_______________________________________________________________________________________________________

FIBONACCI REKURENCYJNIE

 

#include <iostream>

 

using namespace std;

 

 

int main()

{

    int ile, w = 1;

    

    cout <<"Z ilu chcesz obliczyc silnie ??\n";

    cin >>ile;

    cin.ignore();

    

    for (int i = 1; i <= ile; i++) // ile = 5, i = 5

    {

        w *= i; // w = w * i; //  w = 120

    }

 

    cout <<"Silnia z "<<ile<<" to "<<w;

    

    

    getchar();

    return 0;

}

 

 #include <iostream>

 

using namespace std;

//wart. 0, 1, 2, 3, 4, 5, 6, 7,  8,  9,  10, 11, 12,  13,  14,  15,  16,  ...

//wynik 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ... 

 

int fib(int);

 

int main()

{

    int n;

    

    cout <<"Podaj wart. co ciagu Fibonacciego: ";

    cin >>n;

    cin.ignore();

    

    cout <<"Fib ("<<n<<") = "<<fib(n);

 

    

    getchar();

    return 0;

    

}

 

int fib(int n)

{

    if (n == 0)

      return 0;

    else if (n == 1)

      return 1;

    else if (n > 1)

      return fib(n - 1) + fib(n - 2);

}

 

 _______________________________________________________________________________________________________

FIBONACCI ITERACYJNIE

 

#include <iostream>

 

using namespace std;

 

//wart. 0, 1, 2, 3, 4, 5, 6, 7,  8,  9,  10, 11, 12,  13,  14,  15,  16,  ...

//wynik 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ... 

 

int main()

{

    unsigned int ktora, w;

    

    cout <<"Ktora liczbe z ciagu Fibonacciego chcesz zobaczyc? ";

    cin >>ktora;

    cin.ignore();

    

    int a = 1, b = 1;

    

    if (ktora == 0)

      w = 0;

    else if (ktora == 1 || ktora == 2)

      w = 1;

    else

    {

        for (int i = 3; i <= ktora; i++) // i = 7, ktora = 6

        {

            w = a + b; // w = 8, a = 5, b = 8

            a = b;

            b = w;

        }

    }

    

    cout <<"Fib ("<<ktora<<") = "<<w;    

 

    getchar();

    return 0;

}

  _______________________________________________________________________________________________________

SILNIA ITERACYJNIE

 

 

 #include <iostream>

 

using namespace std;

 

 

int main()

{

    int ile, w = 1;

    

    cout <<"Z ilu chcesz obliczyc silnie ??\n";

    cin >>ile;

    cin.ignore();

    

    for (int i = 1; i <= ile; i++) // ile = 5, i = 5

    {

        w *= i; // w = w * i; //  w = 120

    }

 

    cout <<"Silnia z "<<ile<<" to "<<w;

    

    

    getchar();

    return 0;

}

____________________________

 

POTĘGOWANIE ITERACYJNIE

 

#include <iostream>

 

using namespace std;

 

int Potega(int, int);

 

int a, w;

 

int main()

    

    cout <<"Podaj podstawe potegi: ";

    cin >>a;

    cin.ignore();

    

    cout <<"Podaj wykladnik : ";

    cin >>w;

    cin.ignore();

    

    cout <<"Wynik to: "<<Potega(a, w);

 

    

    getchar();

    return 0;

}

 

int Potega(int a, int w)

    int wynik = 1;

    

    for (int i = 0; i < w; i++)

    {

        wynik *= a;

    }

    

    return wynik;

}

   /* 

    a ^ 3 = a * a * a 

 

    */

___________________________________________

POTĘGOWANIE REKURENCYJNIE

 

#include <iostream>

 

using namespace std;

 

int Potega(int);

 

int a, w;

 

int main()

    

    cout <<"Podaj podstawe potegi: ";

    cin >>a;

    cin.ignore();

    

    cout <<"Podaj wykladnik : ";

    cin >>w;

    cin.ignore();

    

    cout <<"Wynik to: "<<Potega(w);

 

    

    getchar();

    return 0;

}

 

int Potega(int n)

    if (n == 0)

      return 1;

    else

      return a * Potega(n-1);

}

   /* 

    a ^ 3 = a * a * a 

    

    a ^ 0 = 1

    a ^ 1 = a

    a ^ 2 = a * a

    a ^ 3 = a * a * a

    

    a ^ n = a * a * ... a(n-1)

    

    

    */

________________________________________

DZIESIĘTNA NA BINARNĄ

 

#include <iostream>

 

using namespace std;

 

int main()

{

    // 1 1 0 1 0 1 = 1 * 2 ^ 5 + 1 * 2 ^ 4 + 0 * 2 ^ 3 + 1 * 2 ^ 2 + 0 * 2 ^ 1 + 1 * 2 ^ 0 = 53

    

    int a, w;

    int tab[100];

 

    cout <<"Podaj liczbe ktora mam zamienic na kod binarny: ";

    cin >>a;

    cin.ignore();

    

    int i = 0;

    

    do{

       i++;

       tab[i] = a % 2; 

       

       a = a / 2;

       w = 2 * a + tab[i];

       

    }while (w >= 2);

   

    cout <<"Liczba w systemie dwojkowym wyglada: ";

    

    for (; i > 0; i--)

    {

        cout <<tab[i];

    }    

    

    getchar();

    return 0;

}

 

 _______________________________________________________

  BINARNA NA DZIESIĘTNĄ

 

#include <iostream>

#include <string>

using namespace std;

int main()

{

    string liczba;

    int wynik = 0;

    cout <<"Podaj liczbe w systemie dwojkowym: ";

    cin >>liczba;

    cin.ignore();

    

    for(short i = 0; i < liczba.length(); i++)

    {

       if (liczba[i] == '1')

         wynik = wynik * 2 + 1; //1 1 1 0 wynik = 14 =  2 ^ 3 + 2 ^ 2 +  2 ^ 1 == 14

       else

         wynik = wynik * 2;

    }

  

    cout <<"\nPostac dziesietna: "<<wynik;

    getchar();

    return 0;

}

______________________________________________________

 

  RÓWNANIE LINIOWE

#include <iostream>

 

using namespace std;

 

int main()

    double a, b;

    

    /* f(x) = ax + b => 0 = ax + b => x = (-b/a)  - równanie oznaczone

       

       a == 0

       b == 0

       0 == 0

       Rownanie tozsamosciowe (nieoznaczone) nieskonczenie wiele rozw.

       

       a == 0

       b !=0

       b = 0 = > równanie te jest sprzeczne - BRAK ROZWIAZANIE     

     */

     

     cout <<"Podaj a i b:\n ";

     cin >>a>>b;

     cin.ignore();

     

     

     if (a!=0)

       cout <<"Rownanie jest oznaczone i posiada rozw.: "<<(-b/a);

     else if (a == 0 && b == 0)

       cout <<"Rownanie jest tozsamosciowe 0 == 0 (nieoznaczone - niesk. wiele rozw.)";

     else if (a == 0 && b !=0)

       cout <<"Rownanie jest sprzeczne!!! - BRAK ROZWIAZANIA!!!";

     else

       cout <<"Cos skombinowales ;)";

     

 

    getchar();

    return 0;

 

}

 ___________________________________________

  PŁEĆ

 

 

#include <iostream>

#include <string>

 

using namespace std;

 

int main()

   

    string imie;

    

    cout <<"Podaj swoje imie a ja powiem jakiej jestes plci !!\n";

    cin >>imie;

    cin.ignore();

    cout <<imie;

    for (int i = 0; i < imie.length(); i++)

    {

        imie[i] = toupper(imie[i]);

    }

    cout <<imie;

    if (imie[imie.length()-1] == 'A' && imie != "KUBA")

     cout <<"Jestes kobieta";

    else

     cout <<"Jestes mezczyzna";

 

    getchar();

    return 0;

}