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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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