Schemat Hornera - wartości wielomianu, nieznana ilość pierwiastków

0

Cześć ! :)
Mam do zrobienia zadanie na spoju = wykorzystanie schematu hornera do obliczenia wartości wielomianu. niby proste, ale nadal mi nie śmiga.

Wejście:
Na wejściu programu w kolejności jak niżej powinny się znaleźć następujące elementy:

  1. Liczba całkowita n ≤ 15 określająca stopień wielomianu;
  2. Rzeczywiste współczynniki wielomianu, począwszy od współczynnika przy zerowej potędze, a kończąc na współczynniku przy potędze najwyższej;
  3. Pewna nieznana liczba rzeczywistych argumentów, dla których będzie liczona wartość wielomianu.
    Oczywiście, chodzi o podpunkt 3.
    Myślałam coś o

while ( cin >> pierwiastek ) { horner(tablicawspolczynniki, stopien, pierwiastek); }

SPOJ cały czas krzyczy na mnie, że mam błędną odpowiedź.

przykładowe wejście
3 -10.5 -4 5 -1 0 1 1.5 -2.5 -2 -3

poprawne wyjscie
-10.5 -10.5 -8.625 46.375 25.5 73.5

podsyłam mój kod:

#include <iostream>
#include <string>
#include <list>
using namespace std;


float horner(float wspolczynniki[], int stopien, int x) {

	int wynik = wspolczynniki[0];

	for (int i = 1; i <= stopien; i++)
	{
		wynik = wynik * x + wspolczynniki[i];
	}

	return wynik;
}    

int main() {

	float* tablicawspolczynniki;
	floatstopien, pierwiastek;
	list <float> l;


	printf("stopien wielomianu: ");
	cin >> stopien;

	tablicawspolczynniki = new float[stopien + 1];
	
	for (int i = stopien; i >= 0; i--)
	{
		cout << "wspolczynniki od konca: ";
		cin >> tablicawspolczynniki[i];
	}
	
	printf("\npierwiastek, dla ktorego chcemy obliczyc wartosc : ");

	while ( cin >> pierwiastek ) {
		horner(tablicawspolczynniki, stopien, pierwiastek);
	}


	//cout << horner(tablicawspolczynniki, stopien, pierwiastek);


	delete[] tablicawspolczynniki;

	return 0;
}

1
<source>: In function 'int main()':
<source>:27:38: error: expression in new-declarator must have integral or enumeration type
   27 |     tablicawspolczynniki = new float[stopien + 1];
      |          `

Jeszcze gorzej uruchomiłem twój program i co? Ty nie przetestowałeś swojego programu u siebie, to powinna być podstawa!.

  1. Twój program nie wypisuje wyników obliczeń!
  2. gdzie w specyfikacji zadania masz napisane, że masz wypisywać jakieś zachęty, np: stopien wielomianu: . W takich zadaniach masz wypisywać tylko rzeczy opisane w treści zadnia nic więcej. Wszystko ponadto sędzia potraktuje jako błędną odpowiedź.
  3. przetestuj takie dane wejściowe (najbardziej prymitywny przypadek):
1
1.0
1.0

1.0
2.0

1 użytkowników online, w tym zalogowanych: 0, gości: 1