Tablicowanie wielomianu - pętla for

0

Witam proszę o pomoc w tym zadaniu.
Korzystając z pętli for() stablicować wielomian II-stopnia w danym przedziale. Wprowadzić wsp. wielomianu (a, b, c), przedział tablicowania oraz krok.

To moja próba rozwiązania.

#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main() {

int a,b,c;
int x1,x2;
int k;
int y;

	
cout<<"Podaj wspolczynniki a b c"<<endl;
cin>>a>>b>>c;
cout<<endl;

cout<<"Podaj poczatek i koniec przedzialu x1 x2"<<endl;
cin>>x1>>x2;
cout<<endl;

cout<<"Podaj krok"<<endl;
cin>>k;
cout<<endl;

for(int i=x1; i<=x2 ; i=i+k)
{
cout<<i<<endl;
}

cout<<endl<<endl;

for(int i=x1; i<=x2 ; i=i+k)
{
y=a*(x1*x1)+b*x1 + c;
cout<<y<<endl;
x1=x1+k;
}	
	
	
	
	return 0;
} 
1

Zamień wszędzie int na double.

0

zmieniłem te typy, ale wywala przy podaniu kroku= np 0.5

0

pewnie nie wszędzie zmieniłeś.

0
_13th_Dragon napisał(a):

pewnie nie wszędzie zmieniłeś.

wszystkie deklaracje mam na początku więc niemożliwe że coś pominąłem

1

Nie wszystkie.
for(int .....

0

ok mam taki kod wprowadziłem jeszcze ograniczenie zeby krok nie był większy od wielkosci przedziału
czy trzeba jeszcze dodac jakies warunki zeby program działal na wszystkich mozliwych danych??

#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main() {

double a,b,c;
double x1,x2;
double k;
double y;

	
cout<<"Podaj wspolczynniki a b c"<<endl;
cin>>a>>b>>c;
cout<<endl;

cout<<"Podaj poczatek i koniec przedzialu x1 x2"<<endl;
cin>>x1>>x2;
cout<<endl;

cout<<"Podaj krok"<<endl;
cin>>k;
cout<<endl;

if(k<(x2-x1)){
for(double i=x1; i<=x2 ; i=i+k)
{
cout<<i<<endl;
}

cout<<endl<<endl;

for(double i=x1; i<=x2 ; i=i+k)
{
y=a*(x1*x1)+b*x1 + c;
cout<<y<<endl;
x1=x1+k;
}	
}
else cout<<"Za duzy krok"<<endl;
	
	
	return 0;
} 
0

Owszem, x2>x1.
Oraz to co zrobiłeś nie jest tablicowaniem, tablicowaniem dla y=x*x będzie
1 1
2 4
3 9
4 16
a nie
1
2
3
4
1
4
9
16

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