Typy zmiennych
| int double float char bool long int long long int short signed DANY_TYP - zmienna ze znakiem (+/-) unsigned DANY_TYP - zmienna bez znaku (+) string (wymagane #include <string>) Uwaga na zmienne lokalne i globalne! Czas życia zmiennej! Zakresy zmiennych typu INT dla GCC - > link | PRZYKŁADY: int a; int a = 5; char a,b,c,d = 0; char t = 'r'; string text = "napis buuuuu"; unsigned int bz; wynik = wyraz + " napis " + inny; (łączenie stringów) STAŁE: const double pi = 3.14; KONWERSJA TYPÓW: a = (int)b + (int)c; |
Tablice
| char b⌈500⌉; //deklaracja; UWAGA!!! numerowanie zaczyna się od zera!!! int liczby⌈⌉ = {1,2,3,4,5,6,7,8,9}; int dwa_wym⌈2⌉⌈3⌉ = { {1,2,3}, {2,3,4} }; cout << dwa_wym⌈1⌉⌈2⌉ << endl; |
Wejście/wyjście
| cout << b; cout << " "; cout << b << b << endl << "napis"; cin >> b; |
Operatory
| operatory arytmetyczne: + - * / % operatory przypisania: = b += 5; -> (b=b+5) -= *= /= %= ++ np i++; -> i:=i+1;(pascal) -- np i--; -> i:=i-1;(pascal) | operatory logiczne: || OR ! NOT && AND ^ XOR == równe != różne |
Ramy programu - wszystko jest funkcją
| int main() { //główny program!!! return 0; } |
Jeżeli i switch
| if ((a>3) || (a<-2)) { } else { } | switch (zmienna) { case 'd': break; case 'e': break; case 'z': break; } jeśli char to sprawdzi po literach 'x' |
While i do/while
| while (warunek) { } | do { } while (warunek); //wykona się przynajmniej raz |
Pętla for
| for (int i=0 ; i<10 ; i++) { } |
Liczby pseudolosowe
| #include <cstdlib> #include <time.h> srand( time( NULL ) ); int liczba = rand(); ----- losowe z przedziału od a do b: -- x = a + int((b-a+1) * rand()/(RAND_MAX+1.0)); -- x=a+(rand() % (b-a+1)); // prosta metoda ale korzysta z małej ilości bitów |
Czyszczenie ekranu
| #include <stdlib.h> s y s t e m ("cls"); // czysci ekran konsoli |
Oczekiwanie na wciśnięcie ENTERA
| #include <stdio.h> while (getchar() != 'n'); // zapętlenie do momentu wciśnięcia entera |
Oczekiwanie na wciśnięcie dowolnego klawisza
| #include <conio.h> char key = getch(); // wczytanie dowolnego klawisza bez potwierdzenia enterem |
Długość stringa
| #include <iostream> #include <string> using namespace std; int main() { string sNapis = "To jest napis"; cout << "Napis: " << sNapis << endl; cout << "Dlugosc napisu: (metoda size): " << sNapis.size() << endl; cout << "Dlugosc napisu: (metoda length): " << sNapis.length() << endl; return 0; } |
Obsługa plików w C++ (więcej)
| #include <iostream> #include <fstream> using namespace std; main() { ofstream plik; plik.open("nazwa.txt"); for (int i=0;i<9;i++) plik<<i<<endl; plik.close(); plik.open("inna_nazwa.txt"); int a=5,b=3,c=7; plik<<a<<"n"<<b<<endl<<c<<endl; plik<<endl<<++a; plik.close(); return 0; } | #include <fstream> main() { fstream plik; plik.open("nazwa.txt",ios::in); if (plik.good()==false) { cout<<"Nie udalo sie otworzyc pliku!"; exit(0); } while(getline(plik,linia)) { switch(nr_linii) { case 1: tresc⌈nr_pytania⌉ = linia; break; case 2: odpA⌈nr_pytania⌉ = linia; break; case 3: odpB⌈nr_pytania⌉ = linia; break; case 4: odpC⌈nr_pytania⌉ = linia; break; case 5: odpD⌈nr_pytania⌉ = linia; break; case 6: poprawna⌈nr_pytania⌉ = linia; break; } if (nr_linii==6) {nr_linii=0; nr_pytania++;} nr_linii++; } plik.close(); } |
ZADANIA Z PĘTLI - > link
ZADANIE "POPULACJA":
Dana jest populacja złożona ze 100 osobników.
Populacja rozmnaża się proporcjonalnie do swojej liczebności
w tempie T nowych osobników na rok.
Każdy w wieku 20-60 lat produkuje 2 jednostki jedzenia na rok,
jednocześnie każdy osobnik do życia potrzebuje 1 jednostkę jedzenia
na rok. Dla kogo nie wystarczy jedzenia umiera z głodu
(w pierwszej kolejności umierają najstarsi).
Jak będzie rozwijać się populacja jeśli założyć,
że maksymalna długość życia każdego osobnika wynosi 80 lat?


