Kezdőoldal » Számítástechnika » Programozás » Valaki segítsen! Hogy lehet...

Gabcoma kérdése:

Valaki segítsen! Hogy lehet megcsinálni egy olyan programot, ami bekér 2 számot és kiírja, hogy előjelei azonosak-e?

Figyelt kérdés

2013. dec. 13. 16:49
1 2
 1/19 A kérdező kommentje:
c++ nyelvben.
2013. dec. 13. 16:51
 2/19 anonim ***** válasza:
Pontosan hol akadtál el? Mi készült el eddig?
2013. dec. 13. 16:54
Hasznos számodra ez a válasz?
 3/19 A kérdező kommentje:

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..

2013. dec. 13. 17:02
 4/19 anonim ***** válasza:
82%
én csak C-ben programozom, de nem az lehet a gond, hogy csak akkor írja azt h "az előjel azonos" ha mindkettő pozitív? Vagyis ha mindkettő negatív akkor nem teljesül az if-es feltétel, vagyis az else-re ugrik. Nem kéne még eg ilyen hogy: (a,b<0)? és ezt belerakni (ha van itt is olyan, hogy 'vagy' kapcsolat) akkor azzal az if-es ágba? Csak a C-ből indulok ki, hátha itt is úgy kell.
2013. dec. 13. 17:08
Hasznos számodra ez a válasz?
 5/19 A kérdező kommentje:
de tudom, az a baj, hogy nem tudom hogy kéne a feltételt igazzá tenni?
2013. dec. 13. 17:13
 6/19 A kérdező kommentje:
illetve igaz, csak hogy a feltétel teljesüljön.
2013. dec. 13. 17:13
 7/19 anonim ***** válasza:
54%

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...

2013. dec. 13. 17:14
Hasznos számodra ez a válasz?
 8/19 anonim ***** válasza:
42%
if((a,b>0) || (a,b<0)) nem így kell?
2013. dec. 13. 17:14
Hasznos számodra ez a válasz?
 9/19 anonim ***** válasza:

"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...

2013. dec. 13. 17:17
Hasznos számodra ez a válasz?
 10/19 anonim ***** válasza:

#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;

}

2013. dec. 13. 17:24
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!