### Moje programy: Artur Czekalski (Sator) www.epokaY.net/artur/programowanie.php ARTUR@epokaY.net Oznaczenia: PAS-Pascal, DEL-Delphi, BCB-Builder, BCBk-Builder konsola, MFC-Visual C++ MFC, API, C++ 01-okręgi 02-rozkład na liczby pierwsze 03-liczby doskonałe + podzielniki 04-liczby pierwsze 05-8*więcej liczb pierwszych [PIERWSZ2.PAS] 06-całka - wartość pola 07-macierze: +,*,transponowanie 08-!baza danych-płyty 09-grafika 3d 10-dowolny system liczbowy - przeliczanie 11-!szyfrer 12-!*permutacje 13-[PAS]!monitor pamięci 14-!polys pod DOS -pakiet do nauki słówek 15-[P] !*metoda eliminacji Gaussa - ^od w proc_num np. ćw. ALI np. wiersze 1,2,4,5 podaje winik, a nie zera 16-!wykresy funkcji parametrycznych 17-!*struktura typu drzewo 18-!funkcja pierwotna i pochodna w projekcie 19-skoczek szachowy 20-szukacz (szuka odpowiadające wyrazy w pliku tex i wypisuje ile jest każdego z nich) 21-rozplik (dzielenie pliku na dyskietki bezpośrednio) 22-przeszukiwanie spisuCD [Pascal] 23-przeszukiwanie spisuCD+ [C++] 24-wybieracz [c++] -wybieranie nowych słówek ang. do pliku 25-rename [c++] -tworzy plik.bat który zmienia nazwy plików.mod na takie jak ich tytuly w tagach, .dbm, .mp3 26-baza danych-Pracownicy -proj. *27-Szeregowanie zadań -[B] -proj. *28-Szeregowanie zadań -[D] -proj. 29-liczWyrazy [c++] 30-synchtxt -liniowo [pascal] 31-[BCB] Interpolacja -Obliczanie wartości wielomianu Lagrange'a wzorem postaci Newtona; alg. Hornera 32-Synchtx1 -synchronizacja tekstu z filmem: metoda wiel. Lagrang [c++] 33 -||- 2 -met. prostych *34-Synchtxt-a [Builder 4] a, b, c *35- Przeszukiwacz spisu CD++ [B4] 36-rejestrowe wprowadzanie funkcji, tzn. za pomocą numerów *37-ZmianFormat -zmienia pliki z napisami do filmów z typu: {..}{..} na 00:00:00 38-Zmienno [c++] -Reprezentacja liczb rzeczywistch -> binarnie *39-TxtKonwerter (PC<->C64), tylko dla C64 [B4] *40-Vending machine-symulator [Visual 6] 41-Vending machine-symulator [Linux - QT] [CD:200] *42-Konwerter A,B [B4] *43-RV-Interfejs [B4] *44-KonwTxt-pomijanie [B4] *45-Wyciagacz [B4] *46-Szyfrer [B4] !!47-Winpolys [B4] oraz: SprPlik, Scalacz, ustalMape(dopis,korekta,szukajnr) 48-klasa Kalendarz [c++] !!49-Kompresja Huffmana [B4] 50-Kompresor_A [B4] -scalanie ciągów powtarzających się bajtów 51-Konwerter C [B4] -zamiana jednego ciągu znaków na drugi (różne długości!) 52-Graf3D [B4] ---------10m-2001 !53-wykres; interpolacja Lagrange-ulepszona, Hermita [B4] 54-[BCB] Interpolacja Hermite'a 55-problem plecakowy- knapsack 56-Przemówienia [B4] 57-Formatowanie plików .lst 58 Metody iteracyne szukania pierwiastków funkcji: bisekcja, sieczne, styczne !!!59 Parser wyrażeń arytmetycznyh: spr. syntaksy, gramatyki, przekształcenie do ONP i obliczenie wartości 60-Potęgowanie modulo metodą iteracyjnego podnoszenia do kwadratu 61-spr. pierwszości liczby; wypisanie dzielników; metoda szkolna (prosta) 62-dzielenie wielomianu przez trójmian: x^2+px+r 63-Metoda Fouriera wyznaczania ilości pierwiastków wielomianu w zadanym przedziale 64-Metody stycznych (NEWTONA) dla dowolnej funkcji dla pierwiastków WIELOKROTNYCH 65-File Renamer 66-dzielenie wielomianu przez trójmian: x^2+px+r -ulepszona wersja 67-liczenie macierzy odwrotnej do danej 2x2 68-metoda Beirstowa znajdowania dzielników kwadratowych wielomianu 69-całkowanie numeryczne-metody: trapezów, Simpsona, 3/8 70-rozwiązywanie układu równań liniowych metodą iter. Jackobiego 71-rozwiązywanie układu równań liniowych metodą iter. Gaussa-Seidla 72-Szyfrer_mnoz !73-Szyfrer RC4 - prg. do szyfrowania plików alg. RC4 ---------2m-2002 74-queens-losowy - ustawianie hetmanów na szachownicy o danej wielkości 75-queens-nawroty 76-queens-losowy i nawroty !77-wykres z podawaniem funkcji! (wykorzystanie ONP) 78-test pokerowy dla funkcji losujących 79-LazySelect-losowy- wybiera k-ty co do wielkości element ze zbioru !80-bakterie (losowy) 81-Wyznaczanie najmniejszego koła zawierającego podany zbiór punktów - losowy 82-[C++] Alg. Contract - losowy - wyznaczanie minimalnego cięcia w grafie 83-generowanie losowo liczby PI - losowy 84-znajdowanie elementu dominującego w tablicy - losowy (Majority) !85-Metoda Sympleks - optymalizacja - znajdowanie minimum funkcji wielu zmiennych -------Wakacje 2002 !86-Kopier wybranych części z pliku 87-do autom. wstawiania spacji między słówkami w pliku za ';' i ',' np. "ostry;bystry"->"ostry; bystry" 88-KatalogiZLst - obrabia plik .lst: wypisuje do pliku wsz. nazwy katalogów i ilość plików w każdym zawartych !!! 89-Wykresy4D [V] 90-funkcje do obliczeń rent kapitałowych 91-Do usuwania wsz. katalogów zaczynających się na "^" i ewentualnego przenoszenia plików w nich się zawierających !!!! 92-Wykresy4DX [V] 93-Rozpoznawanie znaków 94-PlikizLst 95-Konwerter2Bajt -pomija co 2 bajt 96-CountDown-stoper -----Wakacje 2003 97-Częstotliwość wystąpień wyrazów [B] 98-zmiana atrybutów plików z playlisty Winamp'a [B] 99-Analiza losowań dużego lotka [B] 100-zapis utworów z pliku projektu Nero Burning Rom 101-SynchTxtPunktowo 102-SZTUCZNA SIEĆ NEURONOWA (SSN) -postać klasy z neuronów i tablicowo; 1 warstwa ukryta 103-Edytor Znaków [B] 104-Rozpoznawanie znaków 16x16 za pomocą SSN [B] -----Zima 2003 105 N po K (bardzo zoptymalizowane) 106 K_subset_lex_rank (numer rank z (n po k)) ----Wiosna 2004 107 Porównywacz - do porównywania zawartości dwóch plików - wypisuje wsz. różnice [B] 108 Incopier - do wkopiowywania części jednego pliku do okreslonego miejsca w drugim pliku. [B] 109 [BCB] KalkulatorSator - do obliczania wartości z podawanych wyrażeń arytmetycznych [B] 110 Sumy potęg: 1^a+...+(n-1)^a=, faktoryzacja, przeliczanie z DEC na dowolny system 111 Wykresy2D [B] 112 Konwerter-txt Zamień Linie -zamienia ze sobą w pliku txt kolejne dwie linie [B] ----Lato 2004 113 Parser wersja FLOAT 114 Podpisy SSN - rozpoznawanie podpisów za pomocą sieci neuronowych 115 Sztuczna Sieć Neuronowa - DWIE warstwy ukryte 116 Sztuczna Sieć Neuronowa - TRZY warstwy ukryte 117 Funkcja ahtoi - działa podobnie jak atoi, z tym, że zamienia ciąg zapisanej liczby w HEX ---Jesień 2004 118 [BCB] Odciski SSN - rozpoznawanie jednego uczonego odcisku palca pośród innych podanych, za pomocą Sztucznej Sieci Neuronowej 119 [BCB] Zegarek -wyświetla czas i zawiera budzik 120 [BCB] SSN_znaki - porównywanie SSN z członem momentum i bez 121 [C++] klasa UJVector - dziedziczenie; funkcje wirtualne 122 [C++]! Obliczanie pierwiastków równania (wielomianu) trzeciego stopnia 123 [BCB] Wycinanie z linii tekstu od ostatniego znau A od lewej do pierwszego znaku B od prawej strony 124 [BCB] Kalkulator prosty 125 [C++] bool PermLexSucc(int N, int *P, int *Q), bool PermLexSuccSelf(int N, int *P) ustalają następnika permutacji w kolejności leksykogrficznej 126 [C++] int LInwersji(int N, int *P) podaje liczbę inwersji w permutacji P; np. 3,1,4,2 ma 3 inw.: (3,1),(3,2),(4,2) 127 [C++] double DetMacierz(int Wymiar, double *M) Liczy wyznacznik macierzy M ze wzoru; UkladyRownan.cpp 128 [C++] Rozwiązywanie układu równań liniowych metodą eliminacji Gaussa ----Zima 2004 129 [MFC,BCB] Rozwiązywanie układu równań liniowych metodą eliminacji Gaussa: odczt/zapis z/do pliku 130 [MFC] -||- z dynamicznym tworzeniem formularza do wprowadzania danych układu równań ----2005 131 [BCB] Wysyłanie danych z pliku do portów COM1,2 132 [BCB] solenizant - wypisuje imiona dla podanej daty 133 [BCB] Długość ciągu znaków 134 [MFC] SSN Diagnoza raka piersi - uczenie i rozpoznawanie na podstawie bazy danych diagnoz lekarskich 135 [C++] liczba Pi ze wzoru: suma 0..nn 136 [VC++] Statystyka pliku txt: wystąpienia wyrazów i liter: samogłosek, spółgłosek, liczba zdań, akapitów itp. 137 [C++] Inteligentny resize (skalowanie) obrazu w 256 kolorach szarości -po skalowaniu obraz ma taki sam poziom jasności 138 [C++] Generowanie liczb doskonałych 139 [C++] Generowanie liczb pierwszych metodą sita Eratostenesa ----Wiosna 2005 140 [BCB] !!! System rozpoznawania pisanych ręcznie kodów pocztowych ze zeskanwanych kopert, za pomocą SSN 141 [C++] RozkladLiczbyNaNierosnCiag: Rozkład liczby N na nierosnący ciąg N liczb naturalnych z zerem; generuje następny ciąg dla danego; np. N=8: (8), (7,1), (6,2), (6,1,1), (5,3), (5,2,1), .., (1,1,1,1,1,1,1,1) 142 [BCB] ! Uczenie Sieci Neruronowej - okienkowo, wielowątkowo 143 [BCB] !! Program do przeprowadzania testów wiedzy. Architektura: Serwer-Klient. 144 [C++] szybkie generowanie losowej permutacji ----Lato 2005 145 [BCB] ! Odciski SSN 2 - rozpoznawanie jednego uczonego odcisku palca pośród innych podanych, za pomocą Sztucznej Sieci Neuronowej 146 [MFC,BCB] LiczbySystem - Zamiana liczb z dowolnego systemu (2 - 36) na inne 147 [BCB] LanGetSator - do pobierania dużych plików z sieci lokalnej 148 [C++] !Obliczanie pierwiastków równania (wielomianu) czwartego stopnia 149 [MFC] KalkulatorSator -przeróbka wersji z [BCB] 150 [BCB] Zegarek z wyświatlaczem a'la LCD 151 [BCB] Transponowanie macierzy: kwadratowej tej samej i prostokątnej z jednej do drugiej ----Jesień 2005 152 [BCB] VisoWebStat - przeglądanie i anlaiza logów wejść na strony WWW 153 [C++] funkcja char *unescapeURL(const char *src, char *dest); zamienia ciągi np. %9F znak ASCI 154 [BCB] !!! System do uczenia się i rozpoznawania zeskanowanych obrazów odręcznych podpisów osób. 155 [C++] funkcja char *strcatEnd(char *destEnd, const char *src); //kopiuje ciąg src do w miejsce destEnd i zwraca wsk na koniec doklejonego ciągu 156 [BCB] Historia schowka tekstowego - dopisuje do pola tekstowego kolejne zawartości tekstowe schowka 157 [C++] const char *StrStr(const char *s1, const char *s2) - moja implementacja strstr() ---Zima 2005, Wiosna 2006: praca, choroba :( ---Lato 2006, praca, choroba :( 158 [C++] NWD (3 metody; alg. Euclidesa), NWW (2 metody) 159 [C++] Generowanie liczb pierwszych metodą sita Eratostenesa - 8 razy wiecęj liczb (bitowe skreślenia) 160 [C++] Szybka faktoryzacja liczb z wykorzystaniem bazy liczb pierwszych 161 [MFC2003] KalkulatorSator-tester szybkości parsera ---Jesień 2006, praca, choroba :(( 162 [BCB] VisoWebLog - przeglądanie i anlaiza logów WEJŚĆ z mojej strony WWW 163 [BCB] VisoWebLogDwn - przeglądanie i anlaiza logów POBRAŃ z mojej strony WWW 164 [BCB] VisoWebStatRes - przeglądanie i anlaiza logów wejść na strony WWW z dodatkową kolumną rozdzielczość ekranu ---Zima 2006, praca, choroba :(( 165 [BCB] Całkowanie numeryczne z podawaniem funkcji (użycie parsera arytmetycznego) 166 [BCB] Komparator - porównywanie dwóch dużych plików z ustaloną dokładnością 167 [BCB] unsigned __int64 _atoui64(const char *s) //zamienia ciąg znaków zapisanej liczby w dec. na liczbę [bigint] --Wiosna 2007; po operacji, bardzo mało czasu 168 [BCB] Rozwiązywanie układu dwóch równań liniowych z dwiema niewiadomymi: A1*x+B1*y=C1; A2*x+B2*y=C2 169 [BCB] Program do wyszukiwania złych wyrazów w plikach na bazie ogromnych słowników wyrazów polskich i angielskich oraz innego słownika 170 [BCBk] Prg. wpisuje do pamięci plik A, czyta kolejne linie z pliku B i sprawdza czy są w A, jeśli TAK to pomija je, jeśli NIE to dopisuje je do pliku C. Zatem C = B-A 171 [BCB] Różnica plików wyrazów 172 [BCB] Scalacz - scalanie dwóch plików wyrazów posortowanych wg długości i alfabetycznie 173 [BCB] Sprawdzanie poprawności pliku wyrazów posortowanych wg długości i alfabetycznie 174 [BCB, CodeBlocks, Delphi7, DevC++, DigitalMars C++/D, Intel 10, MinGW, OpenWatcom, VC++6.0/7.1/8.0] Testy szybkości: 01. w=sin(w)+w 02. faktoryzacja dużej liczby typu __int64, 03. faktoryzacja 32-bitowych liczb typu unsigned int: od 2^31-1 do 2^31-10001 04. generowanie liczb doskonałych w przedziale od 3 do 500000. Typ int 05. mnożenie 2 macierzy o wyrazach typu double 06. mnożenie 2 macierzy o wyrazach typu float 07. NWD-int64 08. QuickSort-int 09. QuickSort-double 10. Szyfrowanie RC4 tablicy byte 11. Wyznacznik macierzy na double 12. Liczenie układu równań metodą eliminacji Gaussa na wyrazach typu double z wyborem maksymalnego wyrazu do dzielenia z WIERSZY. 13. Liczenie układu równań metodą eliminacji Gaussa na wyrazach typu double z wyborem maksymalnego wyrazu do dzielenia z WIERSZY i KOLUMN. 175 [C++/DEL] void MnozMacierze(int M, int N, int K, double *A, double *B, double *C) - mnożenie 2 macierzy --Lato 2007; choroba 176 [C++] void int64toaDec(__int64 liczba, char *s) - zamienia liczbę __int64 na ciąg w zapisie 10-kowym 177 [BCB] Szyfrer RC4 v2 - nowa wersja prg. do szyfrowania plików alg. RC4. Plik jest wczytywany w całości do pamięci. ORAZ: -Minimalizacja funkcji jednej zmiennej metody podziału: równomiernego, dychotomicznego; Wykorzystując pochodne ### Algorytmy i Struktury Danych: !-Quicksort -Szybkie sortowanie; normalnie lub za pomocą indeksów -Permutacje -szukaj_bin -I-ty_element co do wielkości -jednoczesne znajdowanie MIN-MAX liczby -przesunięcie cykliczne w ciągu -!szukanie, max. co do sumy jego elementów, podciągu -BFS-grafy: ścieżki -drzewo binarne (BST) (usuwanie ich algorytm) !-drzewo Red-Black (insert i DELETE!) ### MAŁE (Algorytmy): -rzędy w Z mod n -rzędy w Z mod n z gwiazdką () ### RÓŻNE: 1-emulacja poleceń LOGO 2-grafika 3D 3-wykres 3D 4-textgraf