Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 06. 04. 2012 17:55

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Funkce s proměnným počtem parametrů - C

Ahoj mám problém s funkcí v C, píšu funkci s libovolným počtem parametrů, ale visual studio mi píše že va_start, va_arg a va_end jsou undefined, mám tam něco includovat, aby to fungovalo, includuji jen stdio


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

#2 06. 04. 2012 21:41 — Editoval gladiator01 (06. 04. 2012 21:43)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Funkce s proměnným počtem parametrů - C

příště zkus google (nebo ty stránky níž) než se zeptáš
http://www.cplusplus.com/reference/clibrary/cstdarg/


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#3 07. 04. 2012 14:33 — Editoval ReVolt (07. 04. 2012 15:39)

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Re: Funkce s proměnným počtem parametrů - C

↑ gladiator01:
dík ;-), znáš to jsem línej -> taková ta deformace matematiků :D

ještě dotaz, když si ty hodnoty, které chci předat funkci vygeneruju do pole, jak je tam nacpat (té funkci)


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

#4 07. 04. 2012 16:24

cStP
Příspěvky: 39
Reputace:   
Web
 

Re: Funkce s proměnným počtem parametrů - C

v mainu např:
...
int poleCisel[] = {10,11,12,13};
vypisCisla(poleCisel);
...

a tu funkci třeba takhle:

int vypisPole (int pole[]) {

printf("%d:%d:%d:%d\n", pole[0],pole[1],pole[2],pole[3]);
return 0;
}

Offline

 

#5 07. 04. 2012 16:45

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Re: Funkce s proměnným počtem parametrů - C

↑ cStP:
to je dobré řešení, myslíš že by to nějak šlo pro libovolnou délku pole?


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

#6 07. 04. 2012 23:23 — Editoval cStP (07. 04. 2012 23:23)

cStP
Příspěvky: 39
Reputace:   
Web
 

Re: Funkce s proměnným počtem parametrů - C

jak libovolné ? - jak to přesně myslíš ? To co si vytvoříš někdě jinde prostě pošleš do té funkce stejně a tam už si musíš pohlídat jako má velikost, abys nesáhl do paměti kam nemáš :-)

Offline

 

#7 08. 04. 2012 09:29 — Editoval ReVolt (08. 04. 2012 13:11)

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Re: Funkce s proměnným počtem parametrů - C

↑ cStP:myslel jsem to tak, že třeba jednou budu mít pole délky jako jsi to udělal ty a jindy třeba 8, ale není nutné to nějak řešit, jen mě to tak napadlo jestli by to šlo nějak snadno implementovat

EDIT: mám ještě problém počítám rozptyl a můj program vyhodí 0.40 a wofram 0.37, že by jiný výpočet?

vycházím ze vzorce 1/n-1*suma(x - prumer)


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

#8 08. 04. 2012 23:30

cStP
Příspěvky: 39
Reputace:   
Web
 

Re: Funkce s proměnným počtem parametrů - C

tak vždy pro daný případ zjistit délku pole a tu vzít jako limit při procházení daného pole ;-) (zjištěnou délku pole si můžeš předat do funkce taky přes parametr).

No to by mělo vyjít určitě shodně - nemáš tam chybku, že by tam byl nějaký datový typ třeba int namísto float čímž by došlo k (zaokrouhlování) chybě při výpočtu ?

Offline

 

#9 09. 04. 2012 09:21

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Re: Funkce s proměnným počtem parametrů - C

ne, všechny proměnné jsou buď double nebo long double a tím že třeba jedna je double a druhá long double to asi není ne?


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

#10 09. 04. 2012 22:49

cStP
Příspěvky: 39
Reputace:   
Web
 

Re: Funkce s proměnným počtem parametrů - C

No podle mě by to tím být nemělo, ale nejsem žádný mistr v céčku :-) Nejlepší bude, když si tu operaci rozepíšeš postupně do kroků a budeš si vypisovat mezivýsledky a stavy proměnných v průběhu výpočtu - tak zjistíš ve kterém kroku ti to udělá tu početní chybu - u takto malého vzorečku by to neměl být problém.

Jinak by samozřejmě šlo tvůj program debuggovat - což ale nevím jestli používáš nějaké vývojové prostředí které by to podporovalo - třeba NetBeans nebo Code::Blocks...

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson