#include <iostream>
#include <vector> // dla dynamicznej tablicy na miejsca zerowe ( bo niewiemy ile ich będzie) - np w paraboli może być 1 lub 2 lub //wcale
using namespace std;
float pierwiastki_wielomianu(unsigned short stopien, vector <int> wspulczynniki());//prototyp, nawiasy nie kwadratowe,
//bo w klasie vector są okrągłe
int main()
{
cout << "Witaj!\nPodaj stopień wielomianu: (q kończy)\n";
unsigned short a;
while ( cin >> a && a!= 'q' )
{
cout << "Podano " << a << endl;
vector <int> tab(a);// tu jest typ vector, bo nie znamliśmy wcześniej stopnia wielomianu
for ( int n = 0; n<=a; n++)
{
cout << "Podaj współczynnik przy potędze " << a-n <<":\n";
cin >> tab[n];
}
cout << "Twój wielomian ma postać :\n";
for ( int n = 0; n<a; n++)
{
cout << tab[n];
cout << "x^" << a-n << "+";
}
cout << tab[a];
cout << endl;
pierwiastki_wielomianu( a, tab);
cout << "Podaj stopień następnego wielomianu: (q kończy)\n";
}
return 0;
}
float pierwiastki_wielomianu(unsigned short stopien, vector <int> wspulczynniki())
{
while(stopien == 0)
{
cout << "Stopien wielomianu: 0\nBrak miejsc zerowych\n";
return 0;
}
while(stopien == 1)
{
float wynik;
int a = (int)wspulczynniki[0];
int b = (int)wspulczynniki[1];
wynik = (b/a)*(-1);
cout << "Wielomian ma jedno miejsce zerowe x = "<< wynik << endl;
return 0;
}
while(stopien != 0 && stopien !=1)
{
cout << "Na razie takiego stopnia ten program nie policzy\n";
return 0;
}
}
Zanim wpadłem na pomysł, żeby użyć klasy vector, wszystko było cacy, natomiast teraz wyskoczyło mi dużo błędów o złej konwersji elementów vector na int, ale szczerze mówiąc po przeczytaniu komunikatów i przejrzeniu jeszcze raz informacji z "Język C++. Szkoła programowania" nie mam pojęcia, dlaczego to jest źle i jak powinienem to zrobić, żeby było dobrze . Jestem totalnym początkującym i mogłem popełnić jakąś totalną głupotę typu rerutn zamiast return, ale ja nic takiego nie widzę. Z góry dziękuję za pomoc :)