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;
}