• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Obliczenia matematzczne, blad

Object Storage Arubacloud
+1 głos
474 wizyt
pytanie zadane 5 czerwca 2016 w C i C++ przez DragonCoder Nałogowiec (36,500 p.)
edycja 5 czerwca 2016 przez DragonCoder
Witam, mam mały problem z moim kodem. Otóż kompilator wyrzuca mi błąd, czy ktoś mógłby mi powiedzieć czemu? Może nie czemu, bo widze komunikat tylko jak to zmienić. Myślę, że jest to wina minusa który stoi przed działaniem. Kod>>

http://wklej.org/id/2515384/

Dziękuje i życzę miłego wieczoru.
komentarz 5 czerwca 2016 przez niezalogowany
Skoro kompilator mówi ci jak rozwiązać problem, to czemu tego nie zrobisz?
komentarz 5 czerwca 2016 przez maciek061 Gaduła (4,490 p.)
Wiesz w której linijce błąd?
komentarz 5 czerwca 2016 przez DragonCoder Nałogowiec (36,500 p.)
Tak wiem, właśnie tam gdzie mam działania >

-(b/2*a);

root[0]=-(b[0]/2*a[0])+sqrt((pow(b[0],quadrat)-4*a[0]*c[0])/4*pow(a[0],quadrat));
        root[1]=-(b[0]/2*a[0])-sqrt((pow(b[0],quadrat)-4*a[0]*c[0])/4*pow(a[0],quadrat));

czyli 30, 32,33
1
komentarz 5 czerwca 2016 przez niezalogowany

W wielu:

t.cpp: In function ‘int main()’:
t.cpp:30:33: error: invalid operands of types ‘int [3]’ and ‘int’ to binary ‘operator/’
   vertex_of_the_parabola[0]=-(b/2*a);
                                 ^
t.cpp:31:32: error: invalid operands of types ‘int’ and ‘int [3]’ to binary ‘operator*’
   vertex_of_the_parabola[1]=(4*a*c-pow(b,quadrat)/4*a);
                                ^
t.cpp:31:49: error: no matching function for call to ‘pow(int [3], int&)’
   vertex_of_the_parabola[1]=(4*a*c-pow(b,quadrat)/4*a);
                                                 ^
t.cpp:31:49: note: candidates are:
In file included from /usr/include/features.h:374:0,
                 from /usr/include/x86_64-linux-gnu/c++/4.8/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:426,
                 from /usr/include/c++/4.8/iostream:38,
                 from t.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:153:1: note: double pow(double, double)
 __MATHCALL (pow,, (_Mdouble_ __x, _Mdouble_ __y));
 ^
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:153:1: note:   no known conversion for argument 1 from ‘int [3]’ to ‘double’
In file included from t.cpp:2:0:
/usr/include/c++/4.8/cmath:434:5: note: template<class _Tp, class _Up> typename __gnu_cxx::__promote_2<_Tp, _Up>::__type std::pow(_Tp, _Up)
     pow(_Tp __x, _Up __y)
     ^
/usr/include/c++/4.8/cmath:434:5: note:   template argument deduction/substitution failed:
/usr/include/c++/4.8/cmath: In substitution of ‘template<class _Tp, class _Up> typename __gnu_cxx::__promote_2<_Tp, _Up>::__type std::pow(_Tp, _Up) [with _Tp = int*; _Up = int]’:
t.cpp:31:49:   required from here
/usr/include/c++/4.8/cmath:434:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__promote<int*, false>’
/usr/include/c++/4.8/cmath:426:3: note: long double std::pow(long double, int)
   pow(long double __x, int __n)
   ^
/usr/include/c++/4.8/cmath:426:3: note:   no known conversion for argument 1 from ‘int [3]’ to ‘long double’
/usr/include/c++/4.8/cmath:422:3: note: float std::pow(float, int)
   pow(float __x, int __n)
   ^
/usr/include/c++/4.8/cmath:422:3: note:   no known conversion for argument 1 from ‘int [3]’ to ‘float’
/usr/include/c++/4.8/cmath:418:3: note: double std::pow(double, int)
   pow(double __x, int __i)
   ^
/usr/include/c++/4.8/cmath:418:3: note:   no known conversion for argument 1 from ‘int [3]’ to ‘double’
/usr/include/c++/4.8/cmath:411:3: note: long double std::pow(long double, long double)
   pow(long double __x, long double __y)
   ^
/usr/include/c++/4.8/cmath:411:3: note:   no known conversion for argument 1 from ‘int [3]’ to ‘long double’
/usr/include/c++/4.8/cmath:407:3: note: float std::pow(float, float)
   pow(float __x, float __y)
   ^
/usr/include/c++/4.8/cmath:407:3: note:   no known conversion for argument 1 from ‘int [3]’ to ‘float’
t.cpp:44:46: error: ‘pw’ was not declared in this scope
   vertex_of_the_parabola[1]=-(pw(p[0],quadrat)/4)*q[0];
                                              ^
t.cpp:54:1: error: break statement not within loop or switch
 break;

Np tutaj: vertex_of_the_parabola[0]=-(b/2*a); problem jest taki że a i b to tablice, a ty nie odwołujesz się do ich elementów, powinno być coś w stylu: vertex_of_the_parabola[0]=-(b[0]/2*a[0]);

komentarz 5 czerwca 2016 przez DragonCoder Nałogowiec (36,500 p.)
Ach tak, poprawiałęm te co widziałęm ale nie wszystkie bo kod w dół się przesunął. Ok. Dziękuje bardzo.

EDIT>Poprawiłem już wszystko i jeszcze funkcje pow bo zabrakło literki o i zabrałem break, bo o jedno za dużo było.
1
komentarz 5 czerwca 2016 przez maciek061 Gaduła (4,490 p.)

@krr123 możesz objąć w nawiasy liczby ujemne, ale nie jestem pewien czy o to chodzi: 

		root[0]=(-(b[0]/2*a[0]))+sqrt((pow(b[0],quadrat)(-4)*a[0]*c[0])/4*pow(a[0],quadrat));
		root[1]=(-(b[0]/2*a[0]))-sqrt((pow(b[0],quadrat)(-4)*a[0]*c[0])/4*pow(a[0],quadrat));

I we wszystkich takich przypadkach możesz zrobić tak samo. 

@EDIT: Jak to pisałem nie widziałem poprzednich komentarzy

komentarz 5 czerwca 2016 przez DragonCoder Nałogowiec (36,500 p.)
Zrobiłem już to zanim zauważłem twój komentarz, tylko że pomyślałem jak komputer i mówie: "dla człowieka jest jasne, że jeśli przed nawiasem mam minus to robie te liczby ujemne", a komputer musi mieć "-1" dlatego też dodałem "-1" zamiast "-", później tylko to w nawias: (-1)*(....) itd
komentarz 5 czerwca 2016 przez maciek061 Gaduła (4,490 p.)
Kreatywny sposób - "myśleć jak komputer" :)
1
komentarz 5 czerwca 2016 przez DragonCoder Nałogowiec (36,500 p.)
:D jakoś tak mi po prostu wpadło, to maszyna która nie potrafi myślec, a więc musi dostać dane tak by je zrozumiala. Wiadomo znaki ASCII na - też jest, więc komputer formalnie powienien to rozumieć, ale przezorny zawsze ubezpieczony.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 315 wizyt
pytanie zadane 6 listopada 2022 w Python przez Matlane Użytkownik (560 p.)
0 głosów
0 odpowiedzi 477 wizyt
pytanie zadane 2 listopada 2019 w C i C++ przez Greeenone Pasjonat (16,100 p.)
+1 głos
0 odpowiedzi 337 wizyt
pytanie zadane 4 listopada 2017 w C i C++ przez jankustosz1 Nałogowiec (35,880 p.)

92,568 zapytań

141,424 odpowiedzi

319,634 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...