Zadání domácích úkolů

První úkol

Napište program, který uživatelem zadané celé číslo převede z desítkové do šestnáctkové soustavy. Program rozdělte do funkcí: jedna funkce provede vlastní převod a uloží výsledek do paměti a druhá funkce uložený výsledek vypíše na standardní výstup.

Proč si programátoři pletou Vánoce a Halloween?

Datum odevzdání

16. 10. 2019, 11:30

Řešení

Druhý úkol

Napište třídu implementující datovou strukturu zvanou fronta. Data ukládejte do dynamicky alokovaného pole, jehož velikost se zadá jako parametr konstruktoru. Při indexování chápejte pole jako kruhové - po posledním prvku následuje opět první. Ve třídě implementujte metody pro zařazení prvku na konec fronty, vyjmutí prvku z čela fronty, testy prázdnosti a plnosti a kopírovací konstruktor.

class Queue{
  unsigned int capacity; //kapacita fronty
  unsigned int counter; //pocitadlo prvku
  Data *data;
  unsigned int f, b; //indexy čela a konce fronty
public:
  Queue(unsigned int size);
  Queue(Queue &other);
  ~Queue();
  unsigned int getCapacity() const;
  void pushBack(Data d);
  Data front() const;
  void popFront();
  bool empty() const;
  bool full();
};

Datum odevzdání

10. 11. 23:59

Třetí úkol

Do třídy Matrix (Attach:matrix-final.zip) ze cvičení doplňte implementaci následujících operátorů:

  1. - pro rozdíl matic
  2. - pro vrácení opačné matice (změna znaménka, unární mínus)
  3. * pro maticové násobení
  4. * pro násobení matice skalárem
  5. ~ pro vrácení transponované matice
  6. ! pro výpočet stopy matice

Posílejte mi prosím pouze matrix.cpp a matrix.h.

Datum odevzdání

6. 12. 2019 23:59

Čtvrtý úkol

Do šablony spojového seznamu (pracovní verze: Attach:list-tmpl-wip.zip) doplňte následující metody:

  1. stěhovací konstruktor (move constructor)
  2. stěhovací operátor přiřazení
  3. metodu sort implementující třídění přímým výběrem - při implementaci navrhněte a použijte vhodné pomocné metody

Algoritmus třídění přímým výběrem

Mějme spojový seznam s N prvky, potom pro všechny i=1, 2, ..., N - 1

  • V 1. kroku najdeme nejmenší prvek v celém seznamu a prohodíme jeho obsah s obsahem 1. prvku. Získáme tak setříděnou část seznamu délky 1.
  • Ve 2. kroku najdeme nejmenší prvek v části seznamu začínající druhým prvkem a prohodíme jeho obsah s obsahem 2. prvku. Získáme setříděnou část seznamu délky 2.
  • V i. kroku najdeme nejmenší prvek v části seznamu začínající i. prvkem a prohodíme jeho obsah s obsahem i-tého. prvku. Získáme setříděnou část seznamu délky i.

Posílejte prosím pouze soubor list.h (případně list.cpp)

Datum odevzdání

15. 12. 2019 23:59

Poslední úprava stránky: 12.12.2019, 07:58
Powered by PmWiki