Valaki segítsen! Hogy lehet megcsinálni egy olyan programot, ami bekér 2 számot és kiírja, hogy előjelei azonosak-e?
#include <iostream>
using namespace std;
int main()
{
float a,b;
cout << "Kerek 2 szamot! " << endl;
cin>>a>>b;
if(a*b>0)
cout << "Az elojel azonos" << endl;
else
cout << "Az elojel nem azonos" << endl;
return 0;
}
megoldottam. Legalábbis szerintem ez jó. Még most kezdtem a programozást és gyakorló feladatokat csinálok.
azért furcsa, hogy eddig senki nem szólt, hogy ez: (a,b>0), ez mi??
ezt honna szedted? vessző operátor oda minek? szerintem azt se tudod, mit csinál, mielőtt használsz valami operátort, keresd meg, hogy mit csinál
amit te akartál ezzel mondani, az ez: ( a>0 && b>0 )
1. A vessző operátor nem így működik. (X, Y) értéke Y. Itt semmi értelme, így.
2. Az a*b > 0 nagyon jól működik pozitív és negatív számokra. Viszont van egy szám, ami nem negatív és nem pozitív, és ha a és b is az, akkor nem igazat fog visszaadni. Melyik lehet ez a szám?
Hmm, igaz. Az én megoldásomból is kimaradt.
Be kell iktatni egy "|| ((a==0)&&(b==0))"-t.
#10-es voltam.
Vagy az összegüket is meg kell vizsgálni: 0 < a*b && 0 == a+b
Kétlem, hogy bármit is nyernénk a dolgon, a fordító elég okos, de okoskodni mindig jólesik.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!