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 |
|---|---|---|---|
| 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 |
Pliki źródłowe i nagłówkowe do wykorzystania na kolokwium
Wszystkie pliki: kolokwium.zip
Paczka zawiera:
- Macierze liczb rzeczywistych
macierz.h macierz.c
* Pliki danych wejściowych
liczby.txt liczby-pl.txt tekst.txt
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