D/Ćwiczenia dla zaawansowanych

< D

Łatwe

edytuj
  • Podaj liczbę typu int odpowiadającą 4-znakowemu ciągowi "D>C!". (unia char[4] i int)
  • Napisz funkcje cudo, która przyjmując parametr typu int zwróci jego przeciwność a typu float - odwrotność.
  • Podaj średnią adresów komórek w 101-elementowej tablicy char[101], zrealizuj to w czasie O(n), nie używaj pętli.
  • Zaprojektuj strukturę Uczeń przechowującą imię, nazwisko, numer z dziennika i (dynamicznie) oceny.

Średnie

edytuj
  • Zaimplementuj w C(++) funkcję liczącą sumę liczb trójkątnych od T(x) do T(y), wiedząc że 1 <= x < y <= 1000 i przetestuj ją w kodzie napisanym w D.
  • Skompiluj kod z powyższego podpunktu używając Makefile (co najmniej 3 reguły).

Trudne

edytuj
  • Zaimplementuj w C(++) funkcje D_malloc (przyjmującą parametr typu ulong, alokującą odpowiednią ilość bajtów i zwracającą wskaźnik na nowo powstałą tablicę) oraz D_free (przyjmującą parametr typu char* wskazujący na uprzednio zaalokowaną tablicę i ją usuwającą). Wykorzystaj to do napisania względnie wydajnej, dynamicznej tablicy typu ulong w D. (w stylu std::vector<unsigned long> z C++)
  • Narysuj w konsoli wykres funkcji sin(x). Nie musi zawierać skali, ale sinusoida ma być dobrze widoczna (tzn. przypominać sinusoidę).