Pereiti prie turinio

Problema su C skaičiavimais ir išvedimais


Rekomenduojami pranešimai

Turiu užduotį apskaičiuoti funkcijos reikšmes ir sudėt jas į dvimatį masyvą. Funkcija juda nuo -4 iki 4. Padalos skaitinę vertę pasirinkau 0.1 Funkcijoj "xydvimatis" apsirašau, kad x pradedamas skaičiuot nuo -4 ir cikle pridedu vis po 0.1 bei įsistatau į formulę y-ikui apsiskaičiuot.

 

Problema iškilo tada, kai sumąsčiau pasitikrint ir išvest visas x reikšmes (-4, -3.9, -3.8 ir t.t. iki 4)

Išvedimas pavyksta be klaidų tik tada, kai užkomentuoju y formulę į dvimatį masyvą ir palieku tik x=x+0,1

 

Kai atkomentuoju y skaičiavimą (nors jo išvedimo nedarau), x išvedimo testavimas nedakeliauja iki 4, o sustoja vis ant skirtingų padalų (pvz. 1.6, 1.2)

 

Tai man įdomu, kaip y skaičiavimas ir dėjimas į masyvą gali įtakot "x"?

 

int main()
{
float xy[MAX][MAX];
float xnuo = -4;
float xiki = 4;
xydvimatis(xy, xnuo, xiki);
return 0;
}

void xydvimatis(float xy[MAX][MAX], float xnuo, float xiki)
{
int i;
float x = xnuo;
for (i = 0; x <= xiki; i++)
{
	xy[i][0] = -pow(x, 4) + 3 * pow(x, 3) + 2 * pow(x, 2) - 5 * (x)+0.5;
	printf("%0.1f \n", x);
	x = x + 0.1;
}
}

Redagavo InFormer
Nuoroda į pranešimą
Dalintis kituose puslapiuose

for (i = 0; x <= xiki; i++)

čia bus klaida

Gali paaiškint? Nes xy[0] neskaičiuojant tai man gražiai visus nuo -4 iki 4 išveda su 0.1 padalom

 

turetu taip buti:

for (i = xnuo; i <= xiki; i++)

nes pagal tavo salyga, tavo ciklas net nesisuka.

Jeigu taip tai man išvestų nuo -4 iki 4, bet po 1 pridetų (-4, -3, -2...), o man reikia kad po 0.1 pridėtų nuo xnuo iki xiki ir išvestų viską.

 

Va kada gerai išveda:

Mano nuoroda

Mano nuoroda

Redagavo InFormer
Nuoroda į pranešimą
Dalintis kituose puslapiuose

for (i = xnuo; i <= xiki; i + 0.1)

 

Problema lygiai ta pati. Kol neužkomentuoju, tol reikšmės sustoja skirtingose vietose.

Klaida ryškiai kažkur [x][0] apskaičiavime, nes dėl jos neišveda visų reikšmių..

Redagavo InFormer
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gal gali geriau paaiškinti kur čia problema?

Pagal tavo kodą viskas lyg ir gerai veikia:

https://ideone.com/nySiiT

 

EDIT: ką tik pamačiau šitą tavo postą:

Va kada gerai išveda:

Mano nuoroda

Mano nuoroda

 

 

pas tave MAX nustatytas 50, nors reikšmių yra 80.

Tu užrašai už masyvo ribų, tad greičiausiai tavo x reikšmė pasikeičia.

Redagavo arifureta
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gal gali geriau paaiškinti kur čia problema?

Pagal tavo kodą viskas lyg ir gerai veikia:

https://ideone.com/nySiiT

 

EDIT: ką tik pamačiau šitą tavo postą:

 

 

 

pas tave MAX nustatytas 50, nors reikšmių yra 80.

Tu užrašai už masyvo ribų, tad greičiausiai tavo x reikšmė pasikeičia.

Ahh.. Glušius aš.. Ačiū😀

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...