programowanie c++

Drzewo - wyznaczenie wielkości poddrzewa - wersja bez DFS

Poniższy program wykorzystuje możliwość przekazania tablicy jako paramtru funkcji. 
Zastosowanie tablicy jako parametru funkcji pozwoli nam uniknąć tworzenia zmiennych globalnych.

Algorytm poszukiwania średnicy drzewa. Średnicą drzewa nazywamy odległośc między najbardziej oddalonymi od siebie wierzchołkami drzewa.

Przykład sortowania tablicy struktur względem wybranego elementu z użyciem funkcji sort.

Program losuje 30 rekordów (każdy po trzy liczby - kolumny/a/b/c.

Głównym kryterium sortującym jest wartość w kolumnie a, kolejnym b (tylko w przypadku jednakowych wartości w kolumnie a), w przypadku jednakowych wartości w kolumnach a i b, sortowanie odbywa się na postawie wartości z kolumny c.

Badanie własności drzewa z wykorzystaniem algorytmu DFS (Depth First Search):

  • odległość od korzenia
  • wielkość podrzewa

Sortowanie tablicy struktur względem wybranego elementu z użyciem funkcji sort.

Program losuje 10 rekordów (każdy po trzy liczby - kolumny/a/b/c.

W pierwszym przebiegu program sortuje rekordy według kolumny a.

W drugim przebiegu program sortuje rekordy według kolumny b - niezależnie od wartości w kolumnie a.

W trzecim przebiegu program sortuje rekordy według kolumny c - niezależnie od wartości w kolumnach a i b.

Wykorzystanie lower_bound i upper_bound do znalezienia pierwszego i ostatniego miejsca występowania poszukwanego elementu w zestawie danych.

uruchomienie wykonywania programów w terminalu XTERM po instalacji Code::Blocks

sudo apt-get update
sudo apt-get install xterm

 

Przykład wykorzystania wektora par.

W poniższym programie prezentujemy możliwość przechowywania par znaków w strukturze PAIR. Poszczególne pary znaków (duży, mały) umieszczamy w wektorze. 

Wyznaczanie wartości min i max dla poszczególnych typów zmiennych.

Przykład wykorzystania Mapy jako struktury do przechowywania danych.

Mapę możemy stosować jako strukturę zastępującą tradycyjną tablicę lub wektor. Zaletą mapy jest fakt, iż towrząc elementy mapy podajemy zarówno indeks jak i wartość elementu (tablica asocjacyjna).

 

Wypisywanie zmiennych przy użyciu instrukcji printf("%t",w):

 
%d - int
%ld - long
%lld - long long

W zadaniach informatycznych, bardzo często w celu przyśpieszenia opearcji wejścia/wyjścia stosujemy instrukcje scanf i printf zamiast cin, cout. 

Przykład użycia instrukcji eof() przy wczytywaniu danych z pliku o nieznanym rozmiarze.

Poniższy program realizuje wyznaczanie NWD i NWW.

Realizacja NWD odbywa się na dwa sposoby:

  • algorytm Eulidesa - odejmowanie,
  • algorytm Eulidesa - dzielenie.

Realizacja NWW korzysta z wyliczonego NWD (dowolną metodą - w poniższym programie użyliśmy metody dzielenia) i odbywa się według wzoru: NWW=a/NDW*b;

Przykładowy program realizujący algorytm wyszukiwania binarnego. W programie losowanych jest 100 liczb z zakresu 1-1000. Następnie dane są sortowane rosnąco. Dla posortowanych danych program sprawdza, czy wystąpiła liczba 100.

Poniższym program prezentuje możliwości wykorzystania funkcji bez parametrów. W programie pracujemny na zmiennych globalnych (w celu uniknięcia przekazywnia parametrów - funkcje z parametrami znajdziesz w innym artykule w dziale programowanie), poszczególne części zadania realizowane są przez funkcje wykonujące operacje na elementach tablicy globalnej:

  • losowanie liczb i zapis do tablicy globalnej,
  • wypisanie liczb z tablicy globalnej,
  • poszukiwanie min, max, wartości średniej itd.,
  • sprawdzenie, czy w zestawie wylosowano zero.

Sprawdzenie spójności grafu nieskierownego. 
 
 

Poniższy program prezentuje możliwości wykorzystania funkcji z parametrami. Na początek jako parametry funkcji przekzujemy pojedyncze zmienne (tablica pozosataje globalna - tablica jako parametr w C++ występuje w innym artykule), poszczególne części zadania realizowane są przez funkcje z parametrami wykonujące operacje na elementach tablicy globalnej:

  • losowanie liczb i zapis do tablicy globalnej - parametr decyduje o ilosci losowanych liczb,
  • wypisanie liczb z tablicy globalnej - parametry decydują o ilosci wypisanych liczb, szerszy opis funkcji wypisz1, wypisz2, wypisz3 znajdziesz po kodem programu (>>>).

 

Losowanie danych

Zadanie 1
Twoim zadaniem jest napisanie prostej gry, która ma działać następująco: