Kezdőoldal » Számítástechnika » Programozás » Mi a hiba ebben a C++ kódban?

Mi a hiba ebben a C++ kódban?

Figyelt kérdés

#include <iostream>


using namespace std;


int main()

{


// 1. Feladat:

// A program bekér két változót, "a"-t és "b"-t. Cseréld meg a két változó értékét.


int e;

int f;


cout << "e = ";

cin >> e;


cout << "f = ";

cin >> f;


cout << '\n\n';


e = e + f;

f = e - f;

e = e - f;


cout << "Elso feladat:" << endl;

cout << "e = " << e << endl;

cout << "f = " << f << endl;


return 0;


}


Output:


e = 5

f = 7

2570Elso feladat:

e = 7

f = 5


A 2570 miért van ott? Miért nincs sorkihagyás? Mit rontottam el a kódban?


2020. aug. 7. 16:22
1 2
 11/17 anonim ***** válasza:

Te példádra például ez rossz lenne:


Az int 4 byte. Tehát: -2147483648-től 2147483647 erteket. Ha neked az a = 2147483647 es a b = 100 akkor amikor ezt csinalod a = a + b. Akkor ha átírod: a = 2147483647 + 100 már nem fér bele az intbe.

2020. aug. 7. 19:33
Hasznos számodra ez a válasz?
 12/17 anonim ***** válasza:
És akkor még ezt lehet fokozni/javítani hogy lefoglalod előre a segednek a memória területet utána kitörlöd amikor már nem kell. :). De ezzel még felesleges foglalkoznod ez majd későbbi anyag lesz. ;)
2020. aug. 7. 19:43
Hasznos számodra ez a válasz?
 13/17 tabaki ***** válasza:
Álmomban se jutott volna eszembe, hogy ez nem annak a közismert trükkös feladatnak a megoldása akart lenni, amikor harmadik változó nélkül kell megcsinálni a cserét.
2020. aug. 7. 20:18
Hasznos számodra ez a válasz?
 14/17 anonim ***** válasza:
Én még anno úgy hallottam, ezt kvázi interjúkon is feladják feladatnak.
2020. aug. 7. 20:42
Hasznos számodra ez a válasz?
 15/17 anonim ***** válasza:
100%

Nincs kikötve, hogy 2 változó.


"// 1. Feladat:


// A program bekér két változót, "a"-t és "b"-t. Cseréld meg a két változó értékét."


De, ha úgy kell akkor rendben van a megoldás, de az általam fent álló probléma akkor is előfordulhat. És mivel felhasználó kér be számot mindig arra kell gondolni, hogy a felhasználó "buta" és nem tudja, hogy nem adhat meg nagyobb értekét csak azt int felét.

2020. aug. 7. 21:13
Hasznos számodra ez a válasz?
 16/17 anonim ***** válasza:
De két változó esetén használhatja a mutatókat is. :)
2020. aug. 7. 21:14
Hasznos számodra ez a válasz?
 17/17 anonim ***** válasza:
Nem a kérdésre válaszolva, hanem a kialakult beszélgetésre: ha már C++ban vagyunk, akkor az std::swap-pel a legegyszerűbb megcserélni két változót. :)
2020. szept. 6. 10:05
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!