2013. május 18., szombat

Hozzászólások

(#101) doc válasza kicsitomi88 (#100) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

korábban van a baj, már az ncurses.h-t sem találja, szerintem nincs felrakva az ncurses csomag
sudo apt-get install ncurses ncurses-dev

(vagy curses és curses-dev, most Slackware előtt ülök :D)

[ Szerkesztve ]

Aláírás (nem kötelező megadni - minden hozzászólásnál automatikusan az üzenet végéhez íródik)

(#102) _Kewr_


_Kewr_
(újonc)

Köszönöm a segítséget. De Most ujabb gondom adódott, egy egyszerűbb kódra, konkrétan erre:
#include <ncurses.h>

int main () {
initscr ();
printw ("Hello Vilag !!!");
refresh ();
endwin ();
return 0;
}

Ezt a hibaüzenetet kapom:

valami.c:(.text+0x12): undefined reference to `initscr'
valami.c:(.text+0x1e): undefined reference to `printw'
valami.c:(.text+0x23): undefined reference to `stdscr'
valami.c:(.text+0x2b): undefined reference to `wrefresh'
valami.c:(.text+0x30): undefined reference to `endwin'
collect2: ld returned 1 exit status

(#103) Lortech válasza _Kewr_ (#102) üzenetére


Lortech
(PH! addikt)

Igen, most kéne akkor linkelni a ncursest.
Lásd kettővel feljebb -lncurses.

(#104) _Kewr_


_Kewr_
(újonc)

Eléggé kezdő vagyok, úgyhogy elnézést az értetlenségem miatt, de ezt elmondanád mégegyszer?

(#105) doc válasza _Kewr_ (#104) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

mivel fordítasz? simán parancssorból gcc-vel? mert akkor a topictársak által említett kapcsolót a gcc parancssorához kell írni
ha vmi ide-vel, akkor meg a linker options-nál szokás megadni

Aláírás (nem kötelező megadni - minden hozzászólásnál automatikusan az üzenet végéhez íródik)

(#106) _Kewr_


_Kewr_
(újonc)

Most épp Anjuta-t használok.

(#107) doc válasza _Kewr_ (#106) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

azt már elég régen próbáltam, de keresd meg a project beállítások között a compiler settings vagy linker settings körül a megadható paramétereket, valószínűleg lesz ott már pár "-l" kezdetű rész, pótold ki a -lncurses kapcsolóval

Aláírás (nem kötelező megadni - minden hozzászólásnál automatikusan az üzenet végéhez íródik)

(#108) _Kewr_


_Kewr_
(újonc)

És ha nem használok semmit, akkor mit írjak be, ha pl valami.c-t szeretném lefordítani?

(#109) Lortech válasza _Kewr_ (#108) üzenetére


Lortech
(PH! addikt)

gcc valami.c -o valami -lncurses

(#110) Tv


Tv
(senior tag)

Szeva mindenki! Egy alapvető dologgal nem vagyok tisztában. Ez pedig a main függvény visszatérési értéke. Én minden proginál "int main(void)"-ot használok, de vannak akik "main()"-t, stb. használnak. Mikor melyiket érdemes, illetve egyáltalán mi a különbség köztük? :F

(#111) kicsitomi88 válasza Tv (#110) üzenetére


kicsitomi88
(őstag)
LOGOUT blog

Ha nem írsz visszatérési érték típust akkor automatikusan INT, tehat olyan mint ha int main() lenne.

Megszokáw szerint ki kell írni blabla, de csak akkor szol erte asszem ha -wall -al forditasz.

90 87.5 87.8 87.5

(#112) Tv válasza kicsitomi88 (#111) üzenetére


Tv
(senior tag)

Köszi a választ, de én azt nemértem hogy mit is jelent maga a main fv. visszatérési értéke. Eddig mindenki azt mondta hogy használjak int main(void)-ot például és kész. Megmagyarázni eddig senki nem tudta, hogy miért ezt vagy miért azt válasszam. Szóval a kíváncsiság hajt, hogy mi a különbség, ha pl. int a mainfv. visszatérési értéke, vagy ha nem adok neki (void).

(#113) kicsitomi88 válasza Tv (#112) üzenetére


kicsitomi88
(őstag)
LOGOUT blog

int main(void)nal is int a visszateresi ertek csak ures az argumentumlista,(void)
void main()-nal nem lenne visszateresi ertek,

90 87.5 87.8 87.5

(#114) Tv válasza kicsitomi88 (#113) üzenetére


Tv
(senior tag)

Ismét köszönöm, de még azt mindig nem tudom, hogy mikor milyen visszatérési értéket kell választani. Eddig ami programokat írtam mindig int main(void)-ot használtam, tehát int-el tér vissza. Milyen proginál van például, hogy nincs visszatérési érték? Ha nem akarok pl. kiíratni semmi eredményt? Tehát a progi csinálja a dolgát, de az eredményt nem kérem ki? Sorry, ha nagyon értetlen vagyok :B

(#115) kicsitomi88 válasza Tv (#114) üzenetére


kicsitomi88
(őstag)
LOGOUT blog

Nem vagy ertetlen, de tokmindegy szamodra h int vagy void, hidd el ;)

A progi szamodra ugyanolyan lesz.

90 87.5 87.8 87.5

(#116) doc válasza Tv (#114) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

visszatérési érték minden programnál van, a main típusa int
de ha nem akarsz visszatérési értéket használni, akkor nem használod :)
ilyenkor ha jól tudom, sima 0-val tér vissza
ha mást akarsz, akkor teszel bele pl. egy return 3; sort, ott a program futása megszakad és a shell amiből indítottad egy 3-as értéket kap

Aláírás (nem kötelező megadni - minden hozzászólásnál automatikusan az üzenet végéhez íródik)

(#117) amargo


amargo
(PH! addikt)

Most vagy én vagyok macisajt vagy.. a többiek nem értettek meg.

Tv ha jól értem az nem világos számodra, mi a fenéért kell a main nak int visszatérési típus, nos én azzal az egyszerű dologgal tudnám magyarázni, hogy bármikor megtud szakítani a futását a programodna.

szerk:
Amint látom doc írta, csak a végén

[ Szerkesztve ]

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!” const int GetAnswerToLifeTheUniverseAndEverything() const{ return 42; }

(#118) PazsitZ válasza Tv (#114) üzenetére


PazsitZ
(PH! addikt)

Ahogy írják visszatérési érték mindig van. Legfeljebb nem használod, veszed figyelembe. A hibátlan élefutás 0val tér vissza. Úgy tudom az oprendszer a futtatás során igényli is a visszatérési értéket

"...kis zártkörû PH-s imdb..." :D - http://phmovies.pazsitz.hu - http://pazsitz.hu -

(#119) dabadab válasza Tv (#114) üzenetére


dabadab
(MODERÁTOR)
LOGOUT blog

A main() az definicio szerint int-et ad vissza, ez eppen olyan resze a C specifikacionak, mint az, hogy az utasitasok vegere pontosvesszo kell.

Tortenelmileg onnan ered a dolog, hogy UNIX-on (de egyebkent ez jelenleg is igy van gyak. minden OS-nel, amivel talalkozhatsz) a programoknak van egy u.n. visszateresi erteke, ami egy egyszeru integer. Ennek GUI-s, interaktiv programoknal tul sok szerepe nincs, viszont olyan esetekben, amikor pl. scriptbol hiv meg az ember programokat, nagyon hasznos: ugyanis ezt szokas annak jelzesere hasznalni, hogy a program jol futott-e le v tortent vmi hiba. A konvencio az, hogy ha nincs gond, akkor a visszateresi ertek 0, ha pedig van, akkor nem nulla (a konkret ertekek es jelenteseik program-specifikusak mar).

Egyszeruen osszefoglalva: ha a programod szepen lefut, akkor egy "return 0" kell, ha meg vmi hiba miatt szakad meg a futasa, akkor meg -1 (ezt szoktak altalanos "problema van" ertekkent hasznalni) legyen a main() altal visszaadott ertek.

Falsus in uno, falsus in omnibus.

(#120) doc válasza amargo (#117) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

a program megszakításához nem kell a visszatérési érték, sőt még return sem feltétlenül, bár tény hogy úgy illik :)

Aláírás (nem kötelező megadni - minden hozzászólásnál automatikusan az üzenet végéhez íródik)

(#121) Tv


Tv
(senior tag)

Köszönöm a válaszokat mindenkinek! Mostmár kezdem érteni a dolgot :)

(#122) Steve-S


Steve-S
(tag)

Hi mindenkinek! Újabb kérdésem lenne. Egy olyan függvényt kell írnom ami egy előreinicializált mátrixot(ékezet nélküli szavakkal töltöm fel), névsor szerint rendez. Az algoritmus meg a lényeg megvan, de úgy kell csinálni hogy a fgv paramétere char ** típusú legyen. Na most ezt kellene nekem elmagyarázni hogy ez a dupla csillagos modszer hogy működik, pl. hogy hogy töltöm fel így a mátrixot ha ilyen típussal kell, mert ez sem sikerült még. Lehet kicsit láma kérés de nem igazán vágom. Ha valaki elmagyarázná jó lenne. :F Köszi!

Set The World On Fire!!!

(#123) Steve-S


Steve-S
(tag)

Nah megvan, márcsak azt mondja meg valaki hogy miért fagy ki ez a program egyből miután elindítom? Fordításnál semmi hiba, függvény is elvileg jó! Akkor mi lehet a gond? :F

#include <stdio.h>
#include <string.h>

void rendez(char **matrix)
{
int i, j;
char ideiglenes[20];

for(i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
{
if (strcmp(matrix[i], matrix[j]) < 0)
{
strcpy(ideiglenes, matrix[i]);
strcpy(matrix[i], matrix[j]);
strcpy(matrix[j], ideiglenes);
}
}
printf("\nRendezve: \n\n");
for(i = 0; i < 10; i++)
printf("%s\n",matrix[i]);

}

int main(void)
{

char *automarkak[10];
automarkak[0]="Mercedes";
automarkak[1]="Ferrari";
automarkak[2]="Audi";
automarkak[3]="Lada";
automarkak[4]="Chevrolet";
automarkak[5]="Ford";
automarkak[6]="Skoda";
automarkak[7]="Suzuki";
automarkak[8]="Opel";
automarkak[9]="Chrysler";

rendez(automarkak);
}

Set The World On Fire!!!

(#124) _Kewr_


_Kewr_
(újonc)

Köszönöm az eddigi segítséget, már csak egy kérdésem van. Milyen parancsal tudom futattni? Mert nem történik semmi amikor bepötyögöm a ./filenev-et.

(#125) Lortech válasza Steve-S (#123) üzenetére


Lortech
(PH! addikt)

Minek utaztatod meg a stringeket?
Hiszen csak a char*-okra mutató pointereket kell kicserélni ahhoz, hogy **matrixban kialakuljon a helyes a sorrend:

if (strcmp(matrix[i], matrix[j]) < 0)
{
char *sp = matrix[i];
matrix[i] = matrix[j];
matrix[j] = sp;
}

De ha mégis úgy kéne, akkor pl :
#include <stdio.h>
#include <string.h>

void rendez(char **matrix)
{
int i, j;
char ideiglenes[20]="";

for(i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
{
if (strcmp(matrix[i], matrix[j]) < 0)
{
strcpy(ideiglenes, matrix[i]);

char *segedp;
segedp = (char *)realloc(matrix[i], strlen(matrix[j]) + 1);
matrix[i] = segedp;
strcpy(matrix[i], matrix[j]);

segedp = (char *)realloc(matrix[j], strlen(ideiglenes) + 1);
matrix[j] = segedp;
strcpy(matrix[j], ideiglenes);
}
}
printf("\nRendezve: \n\n");
for(i = 0; i < 10; i++)
printf("%s\n",matrix[i]);

}

int main(void)
{

char *automarkak[10];
automarkak[0]=(char *)malloc(strlen("Mercedes") + 1);strcpy(automarkak[0], "Mercedes");
automarkak[1]=(char *)malloc(strlen("Ferrari") + 1);strcpy(automarkak[1], "Ferrari");
automarkak[2]=(char *)malloc(strlen("Audi") + 1);strcpy(automarkak[2], "Audi");
automarkak[3]=(char *)malloc(strlen("Lada") + 1);strcpy(automarkak[3], "Lada");
automarkak[4]=(char *)malloc(strlen("Chevrolet") + 1);strcpy(automarkak[4], "Chevrolet");
automarkak[5]=(char *)malloc(strlen("Ford") + 1);strcpy(automarkak[5], "Ford");
automarkak[6]=(char *)malloc(strlen("Ferrari") + 1);strcpy(automarkak[6], "Skoda");
automarkak[7]=(char *)malloc(strlen("Suzuki") + 1);strcpy(automarkak[7], "Suzuki");
automarkak[8]=(char *)malloc(strlen("Opel") + 1);strcpy(automarkak[8], "Opel");
automarkak[9]=(char *)malloc(strlen("Chrysler") + 1);strcpy(automarkak[9], "Chrysler");

rendez(automarkak);
}

[ Szerkesztve ]

(#126) Lortech válasza _Kewr_ (#124) üzenetére


Lortech
(PH! addikt)

Ha lefordult rendesen, akkor úgy tudod indítani, ahogy írtad is. Ha nem írt semmi hibaüzenetet erre a parancsra, csak egy üres sor jelenik meg, akkor valószínűleg nem írtál ki semmit a programodban, azért nem ír ki semmit.

(#127) _Kewr_


_Kewr_
(újonc)

Az a gond, hogy hogy azt írja,hogy bash: ./filenev.c: Hozzáférés megtagadva. Ha pedig azt írom, hogy gcc filenev -o filenec.c -lncurses, akkor egy elég jelentős terjedelmű hibaüzenetet, amit nem tudok 100%-osan értelmezni.

(#128) Lortech válasza _Kewr_ (#127) üzenetére


Lortech
(PH! addikt)

A .c-n mit akarsz futtatni? Az a forráskódod (elvileg :Y ). Azért írja ki, hogy hozzáférés megtagadva, mert nincs beállítva rá az x attribútum (futtatható). //de még egyszer mondom, egyébként sincs értelme futtatni, mert nem futtatható állomány, csak a forráskód.

"gcc filenev -o filenev.c -lncurses" még véletlenül sem jó, mert nem a filenev nevűt kéne fordítanod, hanem a filenev.c nevű forráskódodat a filenev nevű binárisba, azaz
gcc filenev.c -o filenev -lncurses, még egyszer: ahol filenev.c a forráskódod, filenev pedig az a fájlnév, amiben a lefordított programod szeretnéd látni.
Ezután futtatás ./filenev-vel.
Ha még így is hibaüzenet a válasz, akkor a hibaüzenetet másold be, mert anélkül nem tudok segíteni.

[ Szerkesztve ]

(#129) _Kewr_


_Kewr_
(újonc)

Most már semmi hibaüzenet, csak ennyi:

kewr@kewr-desktop:~$ ./filenev
kewr@kewr-desktop:~$

(#130) Lortech válasza _Kewr_ (#129) üzenetére


Lortech
(PH! addikt)

Akkor már majdnem célbaértél. :))
Kéne egy getch(); a refresh(); és az endwin(); közé, hogy lásd is az ncurses kimenetet:
...
refresh();
getch();
endwin();
...
Úrja kell fordítani, és úgy futtatni.

(#131) _Kewr_


_Kewr_
(újonc)

Nagyon szépen köszönöm a segítséget!

(#132) [HUN]Zolee


[HUN]Zolee
(őstag)

üdv. Valaki fussa át ezt a pár sort valami nem ok a lefoglalással vagy nemtom mivel, mert felöltésnél elszall.

#include <stdio.h>
#include <malloc.h>

const N=8;

void init(int ****t,int sor){

int i,j;


(*t)=(int***)malloc(sor*sizeof(char));

for (i=0;i<sor;i++) {
(*t)[i]=(int**)malloc(sor*sizeof(char));
}

for(i=0;i<sor;i++){
for (j=0;j<sor;j++){
printf("i:%d j:%d\n",i,j);
(*t)[i][j]=(int*)malloc(2*sizeof(char));
}
}

for (i=0;i<sor;i++){
for (j=0;j<sor;j++) {

t[i][j][0]=0;
t[i][j][1]=0;
}
}

if (i==8) printf("vegeztem");
}

void test(int ****t,int sor){
int i,j;

for (i=0;i<sor;i++) {
for (j=0;j<sor;j++) {
printf("%d",t[i][j][0]);
printf("%d",t[i][j][1]);
}
printf("\n");
}

}

int main() {
int*** tabla;
init(&tabla,N);
test(&tabla,N);
scanf("");
return 0;
}

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.''

(#133) [HUN]Zolee válasza [HUN]Zolee (#132) üzenetére


[HUN]Zolee
(őstag)

Ha valakit érdekel a hiba ez volt :

t[i][j][0]=0

helyett

(*t)[i][j][0]=0

kell

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.''

(#134) Jester01 válasza [HUN]Zolee (#132) üzenetére


Jester01
(PH! addikt)

t.c: In function ‘test’:
t.c:40: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘int *’
t.c:41: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘int *’

Valamint a foglalás valóban rossz, ha már egyszer int-eket akarsz tárolni, akkor azoknak foglalj helyet, illetve ügyelj a pointerekre!

Diff:

--- t.c.orig 2007-11-20 16:48:48.000000000 +0100
+++ t.c 2007-11-20 16:59:32.000000000 +0100
@@ -8,24 +8,24 @@
int i,j;


- (*t)=(int***)malloc(sor*sizeof(char));
+ (*t)=(int***)malloc(sor*sizeof(int**));

for (i=0;i<sor;i++) {
- (*t)[i]=(int**)malloc(sor*sizeof(char));
+ (*t)[i]=(int**)malloc(sor*sizeof(int*));
}

for(i=0;i<sor;i++){
for (j=0;j<sor;j++){
printf("i:%d j:%d\n",i,j);
- (*t)[i][j]=(int*)malloc(2*sizeof(char));
+ (*t)[i][j]=(int*)malloc(2*sizeof(int));
}
}

for (i=0;i<sor;i++){
for (j=0;j<sor;j++) {

- t[i][j][0]=0;
- t[i][j][1]=0;
+ (*t)[i][j][0]=0;
+ (*t)[i][j][1]=0;
}
}

@@ -37,8 +37,8 @@

for (i=0;i<sor;i++) {
for (j=0;j<sor;j++) {
- printf("%d",t[i][j][0]);
- printf("%d",t[i][j][1]);
+ printf("%d",(*t)[i][j][0]);
+ printf("%d",(*t)[i][j][1]);
}
printf("\n");
}

Jester

(#135) [HUN]Zolee válasza Jester01 (#134) üzenetére


[HUN]Zolee
(őstag)

Köszi, fel sem tűnt hogy leírtam. mire meglesz a program érteni is fogom a pointereket :)
Mégegyszer kösz! :R :R

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.''

(#136) stepboy


stepboy
(újonc)

Sziasztok; az elmúlt napokban akadt egy kis problémám, és [ezen] az oldalon találtam rá megoldást. Ha gondoljátok, akkor rakjátok be a többi link közé, hátha másnak is hasznos lehet.

[ Szerkesztve ]

(#137) Nunder


Nunder
(őstag)
LOGOUT blog

Szevasztok! Az egyetemen (SZTE) most fogok írni köt.progból dogát. 10 programból egyet kell megírni az órán de parázok mert marha nehezek! Nincsenek túl nagy programozási háttérismereteim de szerintem ilyen guruknak nem lenne nehéz egyik sem!.Ha esetleg valakinek volna kedve és ideje velem foglalkozni az írjon és megbeszéljük.

Power Metal Blog: http://href.hu/x/ce8g

(#138) kicsitomi88 válasza Nunder (#137) üzenetére


kicsitomi88
(őstag)
LOGOUT blog

:D

Elotte egy ket nappal :F

90 87.5 87.8 87.5

(#139) Nunder válasza kicsitomi88 (#138) üzenetére


Nunder
(őstag)
LOGOUT blog

csak nem te is SZTE-s vagy?? mert az nem volna rossz

Power Metal Blog: http://href.hu/x/ce8g

(#140) Nunder


Nunder
(őstag)
LOGOUT blog

ha nem vagy az se baj mert nekem télleg nagy szükségem volna mindennemű segítségre! télleg szokott itt olyasvalaki fórumozni aki szegedi? azokkal is szívesen felevenném a kapcsolatot :)

Power Metal Blog: http://href.hu/x/ce8g

(#142) Nunder válasza kicsitomi88 (#141) üzenetére


Nunder
(őstag)
LOGOUT blog

köszi a linket! és itt tudok találni valakit aki segít vagy csak írjam be hogy kötprogforráskód kéne???

Power Metal Blog: http://href.hu/x/ce8g

(#143) Tv


Tv
(senior tag)

Sziasztok! Egy kis segítségre volna szükségem C-ben. Egy olyan progit kellene írnom, ami bekér egy egész számot, majd egy ciklus kiíratja úgy, hogy első sorban annyiszor amennyi a szám, a másodikban egyel kevesebbszer stb. Valamint mindegyik szám mellé odarak egy betű karaktert. Tehát ha a számnak 5-öt adok meg akkor ezt adja:
5A5A5A5A5A
5A5A5A5A
5A5A5A
5A5A
5A
A progit meg is írtam már:
#include<stdio.h>

int main(void)
{
int x;
char y=65;
int i,j;

printf("Kerek egy szamot: ");
scanf("%d", &x);

for(j=0; j<x; j++)
{
for(i=0+j; i<x; i++)
{
printf("%d%c", x, y);

}

printf("\n");
}
}
A gond az lenne, hogy ezt függ vényként kéne működtetni. Eddig ennyire jutottam, de valamiér végtelenül írja ki a cuccokat:
#include<stdio.h>

void kiirat(int a, char b)
{

int i,j;

for(j=0; j<a; j++)
{
for(i=0+j; i<a; i++)
{
printf("%d%c", a, b);

}

printf("\n");
}
}

int main(void)

{
int x;
char y=65;

printf("Kerek adjon meg egy egsz szamot: ");
scanf("%d", x);

kiirat(x,y);
}
Ha valakinek van őtlete segítsen légyszi. Köszi előre is

(#144) Lortech válasza Tv (#143) üzenetére


Lortech
(PH! addikt)

Lemaradt a & a scanf-nél.

(#145) Tv válasza Lortech (#144) üzenetére


Tv
(senior tag)

:) Köszi!!! Már kishiján agyvérzés kaptam, hogy mi a fene lehet vele.

(#146) [HUN]Zolee


[HUN]Zolee
(őstag)

valaki meg tudná mondani nekem hogy a -> operátor mire jó pontosan?

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.''

(#147) amargo válasza [HUN]Zolee (#146) üzenetére


amargo
(PH! addikt)

cahar *p;
(*p).valami;
helyett elég a
p->valami;

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!” const int GetAnswerToLifeTheUniverseAndEverything() const{ return 42; }

(#148) PazsitZ válasza [HUN]Zolee (#146) üzenetére


PazsitZ
(PH! addikt)

(*U_mutato).nev

Az U_mutato-t a precedencia (elsőbbségi) szabály miatt kell zárójelbe tenni, mert ha nem tennénk a fordító azt hihetné, hogy ez egy U_mutato.nev változóra mutató pointer.

Mivel a C régi változatainak idejében elég gyakran volt szükség struktúra-mutatók használatára és kényelmetlen, zavaró volt minden egyes alkalommal zárójelezni, ezért kitaláltak egy új operátort, ez a -> (nyíl; egy mínusz jelből és egy ’nagyobb’ relációs jelből tevődik össze). Ennek használatával már nem kell zárójeleznünk:

U_mutato->nev

[link]

"...kis zártkörû PH-s imdb..." :D - http://phmovies.pazsitz.hu - http://pazsitz.hu -

(#149) [HUN]Zolee válasza amargo (#147) üzenetére


[HUN]Zolee
(őstag)

Köszi mindkettőtöknek.

Kaptam egy feladatot amit nem tudok helyesen beírni, mindig hibás eredmény jön ki.
A feladat: n-edik gyök(x) et kell kiszámolni a következő iterációval :
( y(i+1) = (n-1)*y(i) + x / y(i)^(n-1) )/n

itt tartok most :

include <stdio.h>
#include <math.h>
#include <malloc.h>

double fgv(int i){
double x=8;
const int n=3;
double k;
if (i<=1) return x;
k=((n-1)*fgv(i-1)+x/pow(fgv(i-1),n-1))/n;
printf("%d %lf\n",i,k);
return k;
}

int main(){

int k=3;
double p;
p=fgv(k);
printf("\n\n%lf",p);
return 0;
}

mit baltáztam el?

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.''

(#150) Jester01 válasza [HUN]Zolee (#149) üzenetére


Jester01
(PH! addikt)

Semmit, kicsi a k amivel hívod. 3 lépés kevés, próbáld hattal vagy többel.

[ Szerkesztve ]

Jester

Hirdetés

Copyright © 2000-2013 PROHARDVER Informatikai Kft.