C programozás, segítség kérés [megoldva]

 ( hehenrik | 2013. május 26., vasárnap - 21:31 )

Üdvözlöm a közösséget, egy kis segítségre szorulok C programozással kapcsolatban.
A probléma biztosan triviális, de már több órája nem jövök rá hol, és mi a hiba.

A feladat a következő:

A program olvassa be a 40 (jelenleg 10et olvas be) elemű x vektrort, a, b és n értékekekkel együtt. Ezután y-t számolja ki a következő összefüggés alapján:
y=√(|a-b^2-sin⁡(pi*a) |)
(y=sqrt(fabs(a-pow(b,2)-sin(3.1415*a))))
Ha y<2 akkor x vektor minden pozitív elemét kell összeadni 1-töl n-ig, ellenkező esetben az x vektor első n elemének négyzetét. Az összeget nyomtassa ki a program megfelelő szöveggel.

A programom itt: http://pastebin.com/dMN5He1e található,
de valami miatt nem összegzi az elemeket, és a hibát sehol sem találom.

A segítséget előre is köszönöm.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

scanf("%d",&x[i]);
float-ot olvasol be, nem egész számot!
--
blogom

köszönöm!

Nincsmit.

Egyébként az okosok azt mondják, hogy az egyszerű hatványozásokra ne használjuk a pow() függvényt, mert lassú (állítólag logaritmust számol, majd abból varázsol, s visszaszámolja a számot a logaritmusból), hanem egy b*b-vel helyettesítsük...
--
blogom

kösz a pow-os tanácsot.

A conio.h hasznalatabol ugyan gyanithato a platform, viszont nem derul ki milyen compilert hasznalsz, ettol fuggetlenul sok idot megsporolnal magadnak, ha hasznalnad a megfelelo compiler opciokat a warningok jelzesere.

Ja, ha ez egy hazi, akkor keszulj fel ra, hogy megkerdezik majd, miert kell 11 elemu tomb, 10 elem tarolasara ;)

Codeblocks, win7 32bit.
nem adott semmiféle hibát.

--
11 elem azért kell, mert MATLAB-ban az indexelés 1-töl történik, és a szokásokon nem változtatunk. :)

Hibat nem is, csak warningot, bar lehet hibat is varazsolni belole ;)

A Code::Blocks szamos compilert tamogat, viszont ha jol tudom, csak gcc-t szallit, igy valoszinuleg te is azt hasznalod. A projekt beallitasok, build opciok alatt be tudod allitani a kivant compiler flageket, pl. a fenti esetben a -Wall is segitett volna.

Pedig vagy változtatsz a szokásokon, vagy hagyd a C-t a francba, nem neked való...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o