Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
honza.b4
Člen
Avatar
honza.b4:4.4.2014 15:28

Ahojte.

Nevite, proc to nefunguje? Melo by to fungovat.

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

int mocnina =10, n = 12;

void umocni(){

int pomoc = pow(mocnina,n);
printf("%d", pomoc);
}

int main(void){

umocni();
return 0;
}

compiler mi vypisuje:

undefined reference to `pow'
 
Odpovědět
4.4.2014 15:28
Avatar
Odpovídá na honza.b4
Neaktivní uživatel:4.4.2014 15:33

Pokud kompilujes pomoci gcc pridej parametr -lm

Nahoru Odpovědět
4.4.2014 15:33
Neaktivní uživatelský účet
Avatar
honza.b4
Člen
Avatar
 
Nahoru Odpovědět
4.4.2014 15:34
Avatar
Odpovídá na honza.b4
Neaktivní uživatel:4.4.2014 15:34

Hod sem prikaz, kterym to kompilujes.

Nahoru Odpovědět
4.4.2014 15:34
Neaktivní uživatelský účet
Avatar
honza.b4
Člen
Avatar
Odpovídá na Neaktivní uživatel
honza.b4:4.4.2014 15:44

gcc -lm zdrojak.c

 
Nahoru Odpovědět
4.4.2014 15:44
Avatar
Odpovídá na honza.b4
Neaktivní uživatel:4.4.2014 15:46

gcc zdrojak.c -lm

Nahoru Odpovědět
4.4.2014 15:46
Neaktivní uživatelský účet
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:4.4.2014 20:16

Ahoj,

v jakém smyslu to nefunguje? Jestli ti to nevypisuje jako výsledek číslo 1000000000000, tak to možná bude tím, že při konverzi mezi reálnými a celými čísly dochází k zaokrouhlování či dokonce nějakému ošklivému useknutí. Předpokládám, že velikost typu int bude v tvém případě 4 bajty (32 bitů), což je hodně málo v porovnání s velikostí např. typu double.

Zkus přiřazovat výsledek funkce pow do nějaké proměnné typu double (či long double) a příslušně změň přepínač ve výpisu.

Nahoru Odpovědět
4.4.2014 20:16
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.