Edytuj stronę Odnośniki Fold/unfold all ODT export Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić. ====== Pliki nagłówkowe i źródłowe z zajęć JPR ====== Poniżej znajduje się lista plików nagłówkowych i źródłowych wraz z krótkim opisem zawartych w nich funkcji i zadeklarowanych typów, stałych, struktur, itp. ===== Pliki z zajęć do pobrania ===== ^ Opis ^ Pliki ^ Paczka ^ Data dodania ^ | [[.:zajecia1|1. Pierwszy program]] \\ Wyświetlanie liczb za pomocą ''printf()'' | {{zajecia:jpr_2011_1:printf.c}} | | //7.03.2011// | | [[zajecia:jpr:zajecia2|2. Pętle, warunki]] | {{zajecia:jpr_2011_1:warunek.c}} \\ {{zajecia:jpr_2011_1:petla.c}} | | //21.03.2011// | | [[zajecia:jpr:zajecia3|3. Funkcje]] \\ Silnia i potęga. | {{..:jpr_2011_1:silnia.c}} \\ {{..:jpr_2011_1:potega.c}} | | //21.03.2011// | | [[zajecia:jpr:zajecia4|4. Tablice]] \\ Wczytywanie wartości, sortowanie, suma i średnia wartość liczb z tablicy. | {{..:jpr_2011_1:tablice.c}} | | | | [[zajecia:jpr:zajecia5|5. Pliki nagłówkowe]]\\ Przykład na tablicach. | {{..:jpr_2011_1:tab1:tab.c}} \\ {{..:jpr_2011_1:tab1:tab.h}} \\ {{..:jpr_2011_1:tab1:program.c}} | {{..:jpr_2011_1:tab1.zip}} | //26.04.2011// | | [[zajecia:jpr:zajecia6|6. Wskaźniki]] \\ Odwracanie elementów tablicy.\\ Funkcja zamien(). | {{..:jpr_2011_1:tab2:tab.c}} \\ {{..:jpr_2011_1:tab2:tab.h}} \\ {{..:jpr_2011_1:tab2:program2.c}} | {{..:jpr_2011_1:tab2.zip}} | //26.04.2011// | | [[zajecia:jpr:zajecia6|6a. Wskaźniki c.d.]] \\ Pierwiastki (funkcja składowa pliku fmat.c i fmat.h) | {{..:jpr_2011_1:fmat:fmat.c}} \\ {{..:jpr_2011_1:fmat:fmat.h}} \\ {{..:jpr_2011_1:fmat:program3.c}} | {{..:jpr_2011_1:fmat.zip}} | //26.04.2011// | | [[zajecia:jpr:zajecia7|7. Łańcuchy znaków]] \\ Wczytywanie linii tekstu. \\ Kopiowanie i łączenie napisów. | {{..:jpr_2011_1:str1:str.h}} \\ {{..:jpr_2011_1:str1:str.c}} \\ {{..:jpr_2011_1:str1:program.c}} | {{..:jpr_2011_1:str1:str1.zip}} | //15.05.2011// | | [[zajecia:jpr:zajecia7|7. Łańcuchy znaków c.d.]] \\ Porównywanie łańcuchów znakowych. \\ Program grep. | {{..:jpr_2011_1:str2:str.h}} \\ {{..:jpr_2011_1:str2:str.c}} \\ {{..:jpr_2011_1:str2:grep.c}} | {{..:jpr_2011_1:str2:str2.zip}} | //26.05.2011// | | [[zajecia:jpr:zajecia8|8. Dynamiczny przydział pamięci]] \\ Macierze (tworzenie, wczytywanie i wyświetlanie) | {{..:jpr_2011_1:macierz1:macierz.h}} \\ {{..:jpr_2011_1:macierz1:macierz.c}} \\ {{..:jpr_2011_1:macierz1:program.c}} | {{..:jpr_2011_1:macierz1:macierz1.zip}} | //26.05.2011// | | [[zajecia:jpr:zajecia10|9. Operacje na plikach]]\\ Zapis macierzy do pliku. | {{..:jpr_2011_1:macierz2:macierz.h}} \\ {{..:jpr_2011_1:macierz2:macierz.c}} \\ {{..:jpr_2011_1:macierz2:program.c}} | {{..:jpr_2011_1:macierz2:macierz2.zip}} | //31.05.2011// | | [[zajecia:jpr:zajecia10|9a. Operacje na plikach]]\\ Odczyt macierzy z pliku. | {{..:jpr_2011_1:macierz3:macierz.h}} \\ {{..:jpr_2011_1:macierz3:macierz.c}} \\ {{..:jpr_2011_1:macierz3:program.c}} | {{..:jpr_2011_1:macierz3:macierz3.zip}} | //31.05.2011// | ===== Pliki źródłowe i nagłówkowe do wykorzystania na kolokwium ===== Wszystkie pliki: {{..:jpr_2011_1:kolokwium.zip}} Paczka zawiera: * Funkcje matematyczne \\ {{..:jpr_2011_1:kolokwium:fmat.h}} {{..:jpr_2011_1:kolokwium:fmat.c}} * Tablice liczb rzeczywistych \\ {{..:jpr_2011_1:kolokwium:tab.h}} {{..:jpr_2011_1:kolokwium:tab.c}} * Łańcuchy znakowe (stringi) \\ {{..:jpr_2011_1:kolokwium:str.h}} {{..:jpr_2011_1:kolokwium:str.c}} * Macierze liczb rzeczywistych \\ {{..:jpr_2011_1:kolokwium:macierz.h}} {{..:jpr_2011_1:kolokwium:macierz.c}} <note important> Dokładniejszy opis działania poszczególnych funkcji można znaleźć w komentarzach poprzedzających każdą funkcję w plikach źródłowych.</note> ==== Funkcje matematyczne ==== ^ Deklaracje funkcji ^ Krótki opis ^ | ''int pierwiastki (float a, float b, float c, float *x1, float *x2)'' | Wyznacza pierwiastki równania kwadratowego ax<sup>2</sup>+bx+c=0 | | ''int silnia(int n)'' \\ ''int rsilnia(int n)'' | Oblicza wartość silni ''n!''. \\ Wersja iteracyjna i rekurencyjna | | ''float potega(float p,int w)'' \\ ''float rpotega(float p, int w)''| Oblicza wartość p<sup>w</sup> (''p'' podniesione do potęgi ''w'').\\ Wersja iteracyjna i rekurencyjna. | ==== Tablice liczb rzeczywistych ==== ^ Deklaracje ^ Działanie ^ | ''void wczytaj(float *t,int n)'' | Wczytuje z klawiatury ''n'' liczb rzeczywistych do tablicy ''t[]''. | | ''void wyswietl(float *t,int n)'' | Wyświetla ''n'' pierwszych elementów tablicy ''t[]''. | | ''float srednia(float t[],int n)'' | Oblicza wartość średnią liczb zawartych w tablicy ''t[]''. | | ''int maksind(float *t,int n)'' | Szuka elementu tablicy zawierającego maksymalną wartość. | | ''float* sortuj(float *t,int n)'' | Sortuje elementy tablicy ''t[]''. | | ''float suma(float t[], int n)'' | Oblicza sumę liczb z tablicy ''t[]''. | | ''float maksimum(float t[],int n)'' | Zwraca maksymalną wartość z tablicy ''t[]''. | | ''float *odwroc(float *t,int n)'' | Odwraca elementy tablicy. | ==== Operacje na łańcuchach znakowych (tzw. stringach) ==== ^ Deklaracje funkcji ^ Działanie ^ | ''char *czytajlinie(char *t,int n)'' | Wczytuje jedną linię tekstu (nie dłuższą niż ''n'' znaków) do tablicy ''t''. | | ''int dlugosc(char *t)'' | Wyznacza długość (ilość znaków) łańcucha znakowego ''t''. | | ''char *kopia(char *co,char *gdzie)'' | Kopiuje zawartość napisu ''co'' do tablicy ''gdzie''. | | ''char *sklej(char *co,char *gdzie)'' | Łączy napisy. Dokleja ''co'' na końcu napisu ''gdzie''. | | ''int znajdz(char *tekst,char *wzor)'' | Poszukuje wzoru w tekście. | ==== Operacje na macierzach liczb rzeczywistych ==== ^ deklaracje ^ opis ^ | %%float ** utworz_macierz(int w, int k)%% | Tworzy dynamicznie macierz o liczbie wierszy ''w'' i liczbie kolumn ''k''. | | %%void zwolnij_macierz(float **m, int w)%% | Zwalnia pamięć zajętą przez macierz. | | %%float ** wczytaj_macierz(float **m, int w, int k)%% \\ %%void wyswietl_macierz(float **m, int w, int k) %% | Wczytywanie elementów macierzy z klawiatury i \\ wyświetlanie macierzy na ekranie. | | %%void zapisz_do_pliku(char *nazwa, float **m, int w, int k)%%| Zapisuje macierz ''m'' w pliku ''p'' otworzonym do zapisu w trybie tekstowym. | | %%float** wczytaj_z_pliku(char *nazwa, int *w, int *k)%%| Wczytuje macierz z pliku tekstowego. | /* ====== Kompilacja i uruchomienie programu (Linux) ====== W systemie Linux kompilację programu w języku C przeprowadzamy wydając w konsoli polecenie ''cc'' i podając jako argumenty listę **plików źródłowych** niezbędnych do utworzenia pliku wykonywalnego. \\ Na przykład aby skompilować program **potega** wydajemy polecenie: cc potega.c funckje.c -o potega Program uruchamiamy podając jego nazwę, np: ./potega Jeżeli program wykorzystuje funkcje z biblioteki matematycznej ''math.h'' wówczas podczas kompilacji należy dodać opcję ''-lm'', np: cc -lm odleglosc.c tab.c -o odleglosc */