Cześć jestem początkującym programistą i mam problem w kodzie. Pewnie jest on banalny ale mimo wszystko zapytam czemu komenda
cout<<m1*r1+m2*r2;
zwraca 0. Zmienne są prawidłowo zadeklarowane (format int) i mają wartość inną niż 0.
Z góry dzięki za odpowiedź.
To mój kod
#include <iostream> using namespace std; int m1, r1, m2, r2; int main() { cin>>m1, r1, m2, r2; cout<<m1*r1+m2*r2; return 0; }
i jeżeli po odpaleniu programu wpisuje "2 2 2 2" lub cokolwiek innego większego od 0 wyświetla się 0.
#include <iostream> int main(){ int m1=1; int r1=1; int m2=-1; int r2=1; std::cout<<m1*r1+m2*r2; }
Wynik jest 0, ponieważ 1*1=1, -1*1=-1, a 1+(-1)=0.
Musisz zwracać uwagę na kolejność wykonywania działań.
Użyłeś przecinka zamiast >>:
cin >> m1 >> r1 >> m2 >> r2;
93,488 zapytań
142,421 odpowiedzi
322,772 komentarzy
62,906 pasjonatów
Motyw:
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