Archiwum dla marzec, 2008

30
mar

przykład typów generycznych w c#

Zadanie 1:
Zaprogramuj klasę Lista<T> implementującą metody dodawania i usuwania elementów z początku i końca listy, oraz metodę sprawdzania jej niepustości. Istotne jest, aby elementy listy nie były obiektami klasy Lista, lecz elementami innej klasy, której polami są: pole zawierające wartość typu T, oraz odnośniki do innych elementów listy. Przyjmij taką implementację klasy Lista, aby działała ona efektywnie zarówno gdy jest wykorzystywana jako kolejka, jak i stos, tj. aby operacje dodawania i usuwania elementów na początek i koniec działały w czasie stałym.

Przykład: klik

Zadanie 2:
Zaimplementuj klasę Słownik<K,V> przechowującąpary elementów, gdzie pierwszym elementem pary jest klucz, a drugim wartość. Klasa powinna implementować metodę dodawania, wyszukiwania i usuwania elementu wskazywanego przez klucz. Przyjmij, że pary są przechowywane jako elementy drzewa binarnych poszukiwań tak, aby możliwe było szybkie odszukanie klucza. Parametrami klasy są typ klucza i typ wartości.

Przykład: klik

28
mar

przykład klas strumieniowych

Zadanie 1:
Zadeklaruj klasę IntStream implementującą strumień liczb naturalnych, która implementuje metody:

int next();
bool eos();
void reset();

gdzie kolejne wywołania metody next() zwracają kolejne liczby naturalne począwszy od zera, wartość metody eos() oznacza koniec strumienia, a resest() inicjuje na nowo strumień. Zadeklaruj dwie podklasy:

  • PrimeStream implementującą strumień liczb pierwszych, tj. wartościami kolejnych wywołań metody next() są kolejne liczby pierwsze. Oczywiście ze względu na ograniczony rozmiar typu int możliwe jest jedynie zwrócenie liczb pierwszych mniejszych niż rozmiar typu. Gdy nie jest możliwe obliczenie kolejnej liczby pierwszej, wartość eos() powinna być true.
  • klasę RandomStream, w której metoda next() zwraca liczby losowe. W takim wypadku eos() jest zawsze fałszywe. Wykorzystaj te klasy do implementacji klasy RandomWordStream realizującej strumień losowych słów o długościach równych kolejnym liczbom pierwszym.

Przykład: klik

Zadanie 4.
Zdefiniuj klasę ListaLeniwa implementującą leniwe listy całkowite wraz z metodą

int element(int i);

zwracającą i-ty element listy. ”Leniwość” takiej listy polega na tym, że na początku jest ona pusta, jednak w trakcie wywołania metody element(100) budowanych jest pierwszych sto elementów. Gdy wywołamy element(102) do listy dopisywane są brakujące dwa elementy. Zaimplementuj podklasę Pierwsze zawierającą listę liczb pierwszych, tj. element(i) zwraca i-tą liczbą pierwszą.

Przykład: klik

14
mar

[peɪst]

Ostanio rozgłądałęm się troche za jakąś dobrą stroną hostującą kod. Wszystkie one co łatwo zauważyć działaja niemal identycznie - przeważnie jedyną róznica jest uzywana kolorystyka, tolerowanie wcięć oraz dobór języków. Każdy taki system oferuje zabezpieczenie wpisu hasłem, pokazuje od pare ostatnich wpisów i pozwala na zmiane sposobu kolorowania składni. Ciekawą rzecza jest możliwość wklejania kodu z powłoki, dzieki czemu nie trzeba specjalnie trudzić się wchodzeniem na strone. Niestety żaden ze znalezionych systemów nie oferuje paru prostych lecz moim zdaniem bardzo przydatnuch ficzerow: możliwości utworzenia konta, zarzadzania wklejonymi kodami - w tym edycji oraz zmiany uprawnien do przeglądania. Ponizej podam linki do paru subiektywnie ciekawych adresów:

Na szczególną uwagę zasługuje chyba utilitybase.com/paste ze wzgledu na dobrą obsługe i ogromną bazę jezyków. Inny bardzo popularny adres to rafb.net/paste. Coś polskiego: nopaste.pl, wklej.org. Jeszcze coś dla matematyków, bardzo dobre strony hostujące TeX: texpaste.com oraz mathbin.net.

Na koniec haskellowy smaczek: hpaste.org.

07
mar

lista 1 (c++)

Zadanie
Napisz program, który zamienia wprowadzona ze standardowego wejscia cin liczbe naturalna (z przedziału od 1 do 999 999 999) na liczbe w zapisie słownym w jezyku polskim (pamietaj o prawidłowej odmianie liczebników). Program ma wypisac zamieniona liczbe na standardowym wyjsciu cout. Po wczytaniu liczby całkowitej sprawdz, czy nalezy ona do zadanego przedziału. Jesli wczytana liczba bedzie niewłasciwa, to program powinien wypisac stosowny komunikat na standardowe wyjscie dla błedów cerr.
Uwaga
Do zamiany liczby z postaci binarnej int do słownej string zaprogramuj oddzielna funkcje. Łancuchy znakowe string mozna ze soba łaczyc za pomoca operatora dodawania + .

Mój kod: http://www.nopaste.pl/3cb




λ!

Mój aktualny plan
Moja niby strona
Moja nasza-klasa

Kategorie

 

marzec 2008
P W Ś C P S N
« lut   kwi »
 12
3456789
10111213141516
17181920212223
24252627282930
31