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_2013_1:src:printf.c}} | | //04.03.2013// | | [[.:zajecia2|2. Wyliczanka]] \\ Wyświetlanie sekwencji liczb | {{zajecia:jpr_2013_1:src:wyliczanka.c}} | | //18.03.2013// | | [[.:zajecia2|3. ASCII]] \\ Program wyświetlający kod ASCII | {{zajecia:jpr_2013_1:src:ascii.c}} | | //18.03.2013// | | [[zajecia:jpr_2013_1:zajecia3|3. Funkcje]] \\ Silnia, potęga, liczby pierwsze. | {{..:jpr_2013_1:src:silnia.c}} \\ {{..:jpr_2013_1:src:potega.c}} \\ {{..:jpr_2013_1:src:pierwsze.c}} | | //21.03.2013// | | [[zajecia:jpr_2013_1:zajecia4|4. Tablice]] \\ Operacje na tablicach (średnia, sortowanie, ...). | {{..:jpr_2013_1:src:tablice.c}} | | //03.04.2013// | | [[zajecia:jpr:zajecia5|5. Pliki nagłówkowe]]\\ Przykład na tablicach. \\ Wczytywanie wartości, sortowanie, suma i średnia wartość liczb z tablicy. | {{..:jpr_2013_1:src:tab1:tab.c}} \\ {{..:jpr_2013_1:src:tab1:tab.h}} \\ {{..:jpr_2013_1:src:tab1:program.c}} | {{..:jpr_2013_1:src:tab1:tablice1.zip}} | //13.04.2013// | | [[zajecia:jpr:zajecia6|6. Wskaźniki]]\\ Funkcja odwracająca kolejność. | {{..:jpr_2013_1:src:tab2:tab.c}} \\ {{..:jpr_2013_1:src:tab2:tab.h}} \\ {{..:jpr_2013_1:src:tab2:program.c}} | {{..:jpr_2013_1:src:tab2:tablice2.zip}} | //22.04.2013// | | [[zajecia:jpr:zajecia6|7. Wskaźniki c.d.]]\\ Funkcja wyznaczająca miejsca zerowe paraboli. | {{..:jpr_2013_1:src:pierwiastki.c}} | | //12.05.2013// | | [[zajecia:jpr:zajecia7|8. Łańcuchy znakowe]]\\ Funkcja wczytująca linię tekstu. | {{..:jpr_2013_1:src:str1:str.c}} \\ {{..:jpr_2013_1:src:str1:str.h}} \\ {{..:jpr_2013_1:src:str1:program.c}} | {{..:jpr_2013_1:src:str1:str1.zip}} | //12.05.2013// | | [[zajecia:jpr:zajecia7|9. Łańcuchy znakowe c.d.]]\\ Funkcja: sklej, malenaduze, porownaj. | {{..:jpr_2013_1:src:str2:str.c}} \\ {{..:jpr_2013_1:src:str2:str.h}} \\ {{..:jpr_2013_1:src:str2:program.c}} | {{..:jpr_2013_1:src:str2:str2.zip}} | //17.05.2013// | | [[zajecia:jpr:zajecia8|10. Dynamiczny przydział pamieci]]\\ Macierze | {{..:jpr_2013_1:src:macierz1:macierz.c}} \\ {{..:jpr_2013_1:src:macierz1:macierz.h}} \\ {{..:jpr_2013_1:src:macierz1:program.c}} | {{..:jpr_2013_1:src:macierz1:macierz1.zip}} | //26.05.2013// | | [[zajecia:jpr:zajecia10|11. Operacje na plikach]] \\ Odczyt macierzy z pliku. | {{..:jpr_2013_1:src:macierz2:macierz.c}} \\ {{..:jpr_2013_1:src:macierz2:macierz.h}} \\ {{..:jpr_2013_1:src:macierz2:program1.c}} | {{..:jpr_2013_1:src:macierz2:macierz2.zip}} | //28.05.2013// | | [[zajecia:jpr:zajecia10|12. Operacje na plikach c.d.]] \\ Zapis macierzy. | {{..:jpr_2013_1:src:macierz2:macierz.c}} \\ {{..:jpr_2013_1:src:macierz2:macierz.h}} \\ {{..:jpr_2013_1:src:macierz2:program2.c}} | {{..:jpr_2013_1:src:macierz2:macierz3.zip}} | //28.05.2013// | ===== Pliki źródłowe i nagłówkowe do wykorzystania na kolokwium ===== Wszystkie pliki: {{..:jpr_2013_1:src:kolokwium.zip}} Paczka zawiera: * Funkcje matematyczne \\ {{..:jpr_2013_1:src:kolokwium:fmat.h}} {{..:jpr_2013_1:src:kolokwium:fmat.c}} * Tablice liczb rzeczywistych \\ {{..:jpr_2013_1:src:kolokwium:tab.h}} {{..:jpr_2013_1:src:kolokwium:tab.c}} * Łańcuchy znakowe (stringi) \\ {{..:jpr_2013_1:src:kolokwium:str.h}} {{..:jpr_2013_1:src:kolokwium:str.c}} * Macierze liczb rzeczywistych \\ {{..:jpr_2013_1:src:kolokwium:macierz.h}} {{..:jpr_2013_1:src:kolokwium:macierz.c}} * Pliki danych wejściowych \\ {{..:jpr_2013_1:src:kolokwium:liczby.txt}} {{..:jpr_2013_1:src:kolokwium:liczby-pl.txt}} {{..:jpr_2013_1:src:kolokwium:tekst.txt}} <WRAP info 50%> Dokładniejszy opis działania poszczególnych funkcji można znaleźć w komentarzach poprzedzających każdą funkcję w plikach źródłowych.</WRAP> ==== 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 | | ''double silnia(int n)'' | Oblicza wartość silni ''n!'' | | ''float potega(float x,int y)'' | Oblicza wartość x<sup>y</sup> | | ''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[]''. | | ''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 *t1,char *t2)'' | Kopiuje zawartość napisu ''t2'' do tablicy ''t1'' | | ''char *malenaduze(char *t)'' | Zamienia w napisie litery duże na małe | | ''char *sklej(char *t1,char *t2)'' | Łączy napisy. Dokleja ''t2'' na końcu napisu ''t1'' | | ''int porownaj(char *t1,char *t2)'' | Porównuje dwa napisy ''t1'' i ''t2'' | ==== 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)'' | Wczytuje wartości elementów macierzy | | ''void wyswietl_macierz(float %%**%%m, int w, int k)'' | Wyświetla macierz na ekranie | | ''void zapisz_do_pliku(FILE *plik,float %%**%%m, int w, int k)'' | Zapisuje macierz do pliku tekstoego | | ''float%%**%% wczytaj_z_pliku(FILE *plik, float %%**%%m, 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 pierwiastki.c -o pierwiastki