====== 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_2012_1:src:printf.c}} | | //03.03.2012// |
| [[zajecia:jpr:zajecia2|2. Pętle, warunki]] | {{zajecia:jpr_2012_1:src:warunek.c}} \\ {{zajecia:jpr_2012_1:src:petla.c}} | | //03.03.2012// |
| [[zajecia:jpr:zajecia2b_zmienne|2. Typy zmiennych]] | {{zajecia:jpr_2012_1:src:typy.c}} | | //07.03.2012// |
| [[zajecia:jpr:zajecia3|3. Funkcje]] \\ Silnia, potęga, liczby pierwsze i pierwiastki. | {{..:jpr_2012_1:src:silnia.c}} \\ {{..:jpr_2012_1:src:potega.c}} \\ {{..:jpr_2012_1:src:pierwsze.c}} \\ {{..:jpr_2012_1:src:pierwiastki.c}}| | //19.03.2012// |
| [[zajecia:jpr:zajecia4|4. Tablice]] \\ Wczytywanie wartości, sortowanie, suma i średnia wartość liczb z tablicy. | {{..:jpr_2012_1:src:tablice.c}} | | //19.03.2012// |
| [[zajecia:jpr:zajecia5|5. Pliki nagłówkowe]]\\ Przykład na tablicach. \\ Wczytywanie wartości, sortowanie, suma i średnia wartość liczb z tablicy. | {{..:jpr_2012_1:src:tab1:tablice.c}} \\ {{..:jpr_2012_1:src:tab1:tablice.h}} \\ {{..:jpr_2012_1:src:tab1:program.c}} | {{..:jpr_2012_1:src:tab1:tablice.zip}} | //29.03.2012// |
| [[zajecia:jpr:zajecia6|6. Wskaźniki]] \\ Odwracanie elementów tablicy. | {{..:jpr_2012_1:src:tab2:tab.c}} \\ {{..:jpr_2012_1:src:tab2:tab.h}} \\ {{..:jpr_2012_1:src:tab2:program2.c}} | {{..:jpr_2012_1:src:tab2:tablice2.zip}} | //12.04.2012// |
| [[zajecia:jpr:zajecia6|6a. Wskaźniki]] \\ Funkcja ''zamien()''. \\ Funkcja wyznaczajaca pierwiastki rownania kwadratowego. | {{..:jpr_2012_1:src:tab3:tab.c}} \\ {{..:jpr_2012_1:src:tab3:tab.h}} \\ {{..:jpr_2012_1:src:tab3:program.c}} \\ {{..:jpr_2012_1:src:pierwiastki2.c}} | {{..:jpr_2012_1:src:tab3:tablice3.zip}} | //17.04.2012// |
| [[zajecia:jpr:zajecia7|7. Łańcuchy znaków]] \\ Wczytywanie linii tekstu. | {{..:jpr_2012_1:src:str1:str.h}} \\ {{..:jpr_2012_1:src:str1:str.c}} \\ {{..:jpr_2012_1:src:str1:program.c}} | {{..:jpr_2012_1:src:str1:str1.zip}} | //26.04.2012// |
| [[zajecia:jpr:zajecia7|7a. Łańcuchy znaków c.d.]] \\ Funkcje: dlugosc, kopia, sklej. | {{..:jpr_2012_1:src:str2:str.h}} \\ {{..:jpr_2012_1:src:str2:str.c}} \\ {{..:jpr_2012_1:src:str2:program.c}} | {{..:jpr_2012_1:src:str2:str2.zip}} | //12.05.2011// |
| [[zajecia:jpr:zajecia7|7a. Łańcuchy znaków c.d.]] \\ Funkcje: malenaduze, porownaj. \\ Program obsługujący argumenty wejściowe:\\ tabliczka mnożenia. | {{..:jpr_2012_1:src:str3:str.h}} \\ {{..:jpr_2012_1:src:str3:str.c}} \\ {{..:jpr_2012_1:src:str3:program.c}} \\ {{..:jpr_2012_1:src:str3:tabliczka.c}} | {{..:jpr_2012_1:src:str3:str3.zip}} \\ {{..:jpr_2012_1:src:str3:tabliczka.zip}} | //21.05.2011// |
| [[zajecia8|8. Dynamiczny przydział pamięci + struktury]] \\ Macierze (tworzenie, wczytywanie i wyświetlanie) | {{..:jpr_2012_1:src:macierz1:macierz.h}} \\ {{..:jpr_2012_1:src:macierz1:macierz.c}} \\ {{..:jpr_2012_1:src:macierz1:program.c}} | {{..:jpr_2012_1:src:macierz1:macierz1.zip}} | //25.05.2012// |
| [[zajecia9|9. Operacje na plikach (odczyt/zapis)]] \\ Macierze (wczytywanie z pliku, zapis do pliku tekstowego) | {{..:jpr_2012_1:src:macierz2:macierz.h}} \\ {{..:jpr_2012_1:src:macierz2:macierz.c}} \\ {{..:jpr_2012_1:src:macierz2:program.c}} | {{..:jpr_2012_1:src:macierz2:macierz2.zip}} | //1.06.2012// |
===== Pliki źródłowe i nagłówkowe do wykorzystania na kolokwium =====
Wszystkie pliki: {{..:jpr_2012_1:src:kolokwium.zip}}
Paczka zawiera:
* Funkcje matematyczne \\ {{..:jpr_2012_1:src:kolokwium:fmat.h}} {{..:jpr_2012_1:src:kolokwium:fmat.c}}
* Tablice liczb rzeczywistych \\ {{..:jpr_2012_1:src:kolokwium:tab.h}} {{..:jpr_2012_1:src:kolokwium:tab.c}}
* Łańcuchy znakowe (stringi) \\ {{..:jpr_2012_1:src:kolokwium:str.h}} {{..:jpr_2012_1:src:kolokwium:str.c}}
* Macierze liczb rzeczywistych \\ {{..:jpr_2012_1:src:kolokwium:macierz.h}} {{..:jpr_2012_1:src:kolokwium:macierz.c}}
Dokładniejszy opis działania poszczególnych funkcji można znaleźć w komentarzach poprzedzających każdą funkcję w plikach źródłowych.
==== Funkcje matematyczne ====
^ Deklaracje funkcji ^ Krótki opis ^
| ''int pierwiastki (float a, float b, float c, float *x1, float *x2)'' | Wyznacza pierwiastki równania kwadratowego ax2+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ść pw (''p'' podniesione do potęgi ''w'').\\ Wersja iteracyjna i rekurencyjna. |
| ''int czy_pierwsza(int liczba)'' | Sprawdza czy podana liczba jest liczbą pierwszą. |
==== 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 *malenaduze(char *text)'' | Zamienia w napisie litery duże na małe |
| ''char *sklej(char *co,char *gdzie)'' | Łączy napisy. Dokleja ''co'' na końcu napisu ''gdzie'' |
| ''int porownaj(char *s1,char *s2)'' | Porównuje dwa napisy ''s1'' i ''s2'' |
==== Operacje na macierzach liczb rzeczywistych ====
^ deklaracje ^ opis ^
| ''struct macierz utworz_macierz(int w, int k)'' | Tworzy dynamicznie macierz o liczbie wierszy ''w'' i liczbie kolumn ''k'' |
| ''void zwolnij_macierz(struct macierz m)'' | Zwalnia pamięć zajętą przez macierz |
| ''void wczytaj_macierz(struct macierz m)'' | Wczytywanie elementów macierzy z klawiatury |
| ''void wyswietl_macierz(struct macierz m)'' | Wyświetlanie macierzy na ekranie |
| ''void zapisz_do_pliku(FILE *plik,struct macierz m)'' | Zapisuje macierz ''m'' do strumienia ''plik'' (pliku tekstowego otworzonego do zapisu) |
| ''struct macierz wczytaj_z_pliku(FILE *plik)'' | Wczytuje macierz ze strumienia ''plik'' |
/*
====== 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
*/