Hogyan kell egy csomó bevitt számból kiszűrni a valós számokat?
Pl. A felhasználótól a program kér 10 tetszőleges számot. Az egész számokat egyszerűen kiírja a valósakat pedig összeadja és az összegüket írja ki.
double s=0;
double n;
for (int i=0; i<=10; i++)
{
cin >> n;
if ( ? ) // ez a sor hiányzik
{
s=s+n;
}
else
cout << "\n" << n;
cout << "\n" << s;
}
Ha a visszatérési érték 0, akkor a szám egész. Vigyázz a kerekítési hibákra!
Ami a valós számokat illeti, az egész számok is valósak.
De hogy megcáfoljam az #1 válaszolót, nem minden szám valós, lásd pl. a képzetes számokat.
Nem tudom, hogy a Frac() működik-e C++-ban, nekem a Delhi help hozza mint C++ függvényt is, ha nem akkor kisiparilag
if (n - int(n) > 0)... akkor nem egész
vagy a modf: [link]
#2 Most mondanám, hogy minden szám, amit be tudsz olvasni valós, de ez sem igaz, mert az std::complex-nek is van istream>> overloadja.
Maradjunk annyiban, hogy ez a kód nem tud nem valós számokat beolvasni, de még csak nem racionálisakat se.
Erre próbáltam én is utalni.
De mindig sok itt az okostojás.
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!