May 15, 2024, Wednesday, 135

C/Kolokwium2 2017 2

From MJanik

Jump to: navigation, search

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*x + c

Oprócz struktury powinny być stworzone również funkcje:

  • void UstawWielomian(Wielomian *w, double A, double B, double C) - ustawia parametry wielomianu
  • double Delta(Wielomian *w) - funkcja pomocnicza do obliczenia delty wielomianu (do użycia w innych funkcjach)
  • int LiczbaMiejscZerowych(Wielomian *w) - oblicza i zwraca liczbę miejsc zerowych, czyli 1 lub 2 (potrzebne do alokacji 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 (czyli elementy przypisane do 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.