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	7.03.2011
2. Pętle, warunki	warunek.c petla.c	21.03.2011
3. Funkcje Silnia i potęga.	silnia.c potega.c	21.03.2011
4. Tablice Wczytywanie wartości, sortowanie, suma i średnia wartość liczb z tablicy.	tablice.c
5. Pliki nagłówkowe Przykład na tablicach.	tab.c tab.h program.c	tab1.zip	26.04.2011
6. Wskaźniki Odwracanie elementów tablicy. Funkcja zamien().	tab.c tab.h program2.c	tab2.zip	26.04.2011
6a. Wskaźniki c.d. Pierwiastki (funkcja składowa pliku fmat.c i fmat.h)	fmat.c fmat.h program3.c	fmat.zip	26.04.2011
7. Łańcuchy znaków Wczytywanie linii tekstu. Kopiowanie i łączenie napisów.	str.h str.c program.c	str1.zip	15.05.2011
7. Łańcuchy znaków c.d. Porównywanie łańcuchów znakowych. Program grep.	str.h str.c grep.c	str2.zip	26.05.2011
8. Dynamiczny przydział pamięci Macierze (tworzenie, wczytywanie i wyświetlanie)	macierz.h macierz.c program.c	macierz1.zip	26.05.2011
9. Operacje na plikach Zapis macierzy do pliku.	macierz.h macierz.c program.c	macierz2.zip	31.05.2011
9a. Operacje na plikach Odczyt macierzy z pliku.	macierz.h macierz.c program.c	macierz3.zip	31.05.2011

Pliki źródłowe i nagłówkowe do wykorzystania na kolokwium

Wszystkie pliki: kolokwium.zip

Paczka zawiera:

Funkcje matematyczne
fmat.h fmat.c

Tablice liczb rzeczywistych
tab.h tab.c

Łańcuchy znakowe (stringi)
str.h str.c

Macierze liczb rzeczywistych
macierz.h 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.

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.