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.

Opis Pliki Paczka Data dodania
1. Pierwszy program
Wyświetlanie liczb za pomocą printf()
printf.c 04.03.2013
2. Wyliczanka
Wyświetlanie sekwencji liczb
wyliczanka.c 18.03.2013
3. ASCII
Program wyświetlający kod ASCII
ascii.c 18.03.2013
3. Funkcje
Silnia, potęga, liczby pierwsze.
silnia.c
potega.c
pierwsze.c
21.03.2013
4. Tablice
Operacje na tablicach (średnia, sortowanie, …).
tablice.c 03.04.2013
5. Pliki nagłówkowe
Przykład na tablicach.
Wczytywanie wartości, sortowanie, suma i średnia wartość liczb z tablicy.
tab.c
tab.h
program.c
tablice1.zip 13.04.2013
6. Wskaźniki
Funkcja odwracająca kolejność.
tab.c
tab.h
program.c
tablice2.zip 22.04.2013
7. Wskaźniki c.d.
Funkcja wyznaczająca miejsca zerowe paraboli.
pierwiastki.c 12.05.2013
8. Łańcuchy znakowe
Funkcja wczytująca linię tekstu.
str.c
str.h
program.c
str1.zip 12.05.2013
9. Łańcuchy znakowe c.d.
Funkcja: sklej, malenaduze, porownaj.
str.c
str.h
program.c
str2.zip 17.05.2013
10. Dynamiczny przydział pamieci
Macierze
macierz.c
macierz.h
program.c
macierz1.zip 26.05.2013
11. Operacje na plikach
Odczyt macierzy z pliku.
macierz.c
macierz.h
program1.c
macierz2.zip 28.05.2013
12. Operacje na plikach c.d.
Zapis macierzy.
macierz.c
macierz.h
program2.c
macierz3.zip 28.05.2013

Wszystkie pliki: kolokwium.zip

Paczka zawiera:

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
double silnia(int n) Oblicza wartość silni n!
float potega(float x,int y) Oblicza wartość xy
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