Valaki segítsen! Hogy lehet megcsinálni egy olyan programot, ami bekér 2 számot és kiírja, hogy előjelei azonosak-e?
szerintem egy szelekciót kellene használni nem?
#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 elojelek nem azonosak." << endl;
return 0;
}
ennnyire jutottam.. de ez ha két negatív számot írok be nem működik..
A megoldást az előttem kommentelő elárulta.
Egyébiránt, egy egyszerű matematikai trükkel nagyon könnyen eldönthető, hogy az előjelek azonosak-e: Azonos előjelű számok összeszorzásának végeredménye mindig pozitív. Ebből kifolyólag:
boolean signsAreMatching(double a, double b) {
˙˙˙˙return ((a * b) > 0);
}
Persze az kérdéses, hogy mi az elvárás abban az esetben, ha megadott számok egyike, vagy épp mindegyike 0...
"illetve igaz, csak hogy a feltétel teljesüljön."
Ez viszont elszomorít. Ha más nem is, a || operátor eszedbe kellett volna, hogy jusson...
#include <iostream>
using namespace std;
int main()
{
int a = 0;
int b = 0;
cout << "Kerek 2 egesz szamot: ";
cin >> a >> b;
if((a > 0 && b > 0) ||(a < 0 && b < 0))
{
cout << "A ket szam elojele megegyezik.";
}
else
{
cout << "A ket szam elojele kolonbozik";
}
return 0;
}
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!