From Łukasz Graczykowski
(Difference between revisions)
|
|
| Line 11: |
Line 11: |
| | * <code>void UstawWielomian(Wielomian *w, double A, double B, double C)</code> | | * <code>void UstawWielomian(Wielomian *w, double A, double B, double C)</code> |
| | * <code>double Delta(Wielomian *w)</code> - funkcja pomocnicza do obliczenia delty (do użycia w innych funkcjach) | | * <code>double Delta(Wielomian *w)</code> - funkcja pomocnicza do obliczenia delty (do użycia w innych funkcjach) |
| - | * <code>int LiczbaMiejscZerowych(Wielomian *w)</code><br> - oblicza liczbę miejsc zerowych (potrzebne do alkokacji tablicy przechowującej miejsca zerowe) | + | * <code>int LiczbaMiejscZerowych(Wielomian *w)</code> - oblicza liczbę miejsc zerowych (potrzebne do alkokacji tablicy przechowującej miejsca zerowe) |
| | * <code>void MiejscaZerowe(Wielomian *w, double *x)</code> - przyjmuje tablicę <code>x</code> alokowaną dynamicznie w zależności od ilości miejsc zerowych. Funkcja ustawia pierwsze miejsce zerowe na elemencie <code>x[0]</code> a drugie na <code>x[1]</code> (jeśli jest tylko 1 miejsce zerowe, to na <code>x[0]</code>) | | * <code>void MiejscaZerowe(Wielomian *w, double *x)</code> - przyjmuje tablicę <code>x</code> alokowaną dynamicznie w zależności od ilości miejsc zerowych. Funkcja ustawia pierwsze miejsce zerowe na elemencie <code>x[0]</code> a drugie na <code>x[1]</code> (jeśli jest tylko 1 miejsce zerowe, to na <code>x[0]</code>) |
| | <br> | | <br> |
Revision as of 18:13, 7 May 2017
Zadanie polega na napisaniu programu służącego do obliczania miejsc zerowych wielomianu stopnia drugiego o zadanych parametrach. W programie tworzymy odpowiednią strukturę Wielomian, której podajemy parametry wielomianu a następnie obliczamy liczbę miejsc zerowych, wartości miejsc zerowych, oraz wypisujemy wynik obliczeń na ekran.
Struktura Wielomian powinna mieć następujące składowe:
-
double a;
-
double b;
-
double c;
gdzie a, b, c to parametry wielomianu:
W(x) = a*x^2 + b*c + c
Oprócz struktury powinny być stworzone również funkcje:
-
void UstawWielomian(Wielomian *w, double A, double B, double C)
-
double Delta(Wielomian *w) - funkcja pomocnicza do obliczenia delty (do użycia w innych funkcjach)
-
int LiczbaMiejscZerowych(Wielomian *w) - oblicza liczbę miejsc zerowych (potrzebne do alkokacji tablicy przechowującej miejsca zerowe)
-
void MiejscaZerowe(Wielomian *w, double *x) - przyjmuje tablicę x alokowaną dynamicznie w zależności od ilości miejsc zerowych. Funkcja ustawia pierwsze miejsce zerowe na elemencie x[0] a drugie na x[1] (jeśli jest tylko 1 miejsce zerowe, to na x[0])
W funkcji głównej main należy:
- Stworzyć wielomian
w1 (parametry: 1, -8, 12)
- Obliczyć i wypisać liczbę miejsc zerowych
- Obliczyć i wypisać miejsca zerowe (w tym odpowiednia alokacja tablicy)
Całość piszemy w trzech plikach, przykładowo:
- Wielomian.h - zawierający definicję struktury
- Wielomian.c - zawierający funkcje działające na strukturze
- main.c - zawierający funkcję główną
Ponadto, całość kompilujemy w linii poleceń używając pliku Makefile oraz polecenia make.