niestandardowa biblioteka standardowa

Dumel
Użytkownik
Użytkownik
Posty: 2000
Rejestracja: 19 lut 2008, o 17:35
Płeć: Mężczyzna
Lokalizacja: Stare Pole/Kraków
Podziękował: 60 razy
Pomógł: 202 razy

niestandardowa biblioteka standardowa

Post autor: Dumel »

w zadaniu Ciekawa wyliczanka () ze SPOJa dostaje takie bledy:
/sources/tested.cpp:5:16: error: math: No such file or directory
/sources/tested.cpp: In function 'int main()':
/sources/tested.cpp:29: error: 'logl' was not declared in this scope
/sources/tested.cpp:30: error: 'pow' was not declared in this scope
jesli dobrze rozumiem SPOJ twierdzi ze math to jakas biblioteka zewnetrzna. jak to ominąć?

jak to kogos interesuje to tu jest moje rozwiazanie:
Ukryta treść:    
wszystko na moj gust ok i u mnie dziala. czy to blad na SPOJu?
luka52
Użytkownik
Użytkownik
Posty: 8601
Rejestracja: 1 maja 2006, o 20:54
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 47 razy
Pomógł: 1816 razy

niestandardowa biblioteka standardowa

Post autor: luka52 »

Zamiast

Kod: Zaznacz cały

#include <math>
musisz zapisać

Kod: Zaznacz cały

#include <math.h>
Ew. jako pierwszy argument pow podać typ double i użyć biblioteki cmath:
Kod:    
Dumel
Użytkownik
Użytkownik
Posty: 2000
Rejestracja: 19 lut 2008, o 17:35
Płeć: Mężczyzna
Lokalizacja: Stare Pole/Kraków
Podziękował: 60 razy
Pomógł: 202 razy

niestandardowa biblioteka standardowa

Post autor: Dumel »

dzięki za pomoc. jeszcze jedno pytanie: dlaczego skoro powinno byc

Kod: Zaznacz cały

#include <math.h>
to przy

Kod: Zaznacz cały

#include <iostream>
nie wywala bledu?
luka52
Użytkownik
Użytkownik
Posty: 8601
Rejestracja: 1 maja 2006, o 20:54
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 47 razy
Pomógł: 1816 razy

niestandardowa biblioteka standardowa

Post autor: luka52 »

http://en.wikipedia.org/wiki/Math.h pisze:math.h is a header file in the standard library of C programming language designed for basic mathematical operations. Most of the functions involve the use of floating point numbers. C++ also implements these functions for compatibility reasons and declares them in the header cmath.
Czyli math.h to plik nagłówkowy z C i wymagane jest podanie rozszerzenia .h, a zarówno iostream jak i cmath są plikami nagłówkowymi z C++ zatem podanie rozszerzenia jest zbędne.
Awatar użytkownika
flashion
Użytkownik
Użytkownik
Posty: 113
Rejestracja: 20 sty 2009, o 01:27
Płeć: Mężczyzna
Podziękował: 6 razy
Pomógł: 7 razy

niestandardowa biblioteka standardowa

Post autor: flashion »

jakby kogoś interesowało moje rozw. bez użycia dod. bibliotek:
Ukryta treść:    
ODPOWIEDZ