Kezdőoldal » Számítástechnika » Programozás » Ezzel igy van valami baj?

Ezzel igy van valami baj?

Figyelt kérdés

void feladat_3()

{

int max = 0;

for (std::size_t i = 0; i < 3; ++i)

{

int temp;

std::cin >> temp;

if(!i || temp > max)

{

max = temp;

}

}

std::cout << "Maximum: " << max << '\n';

}


void feladat_4()

{

std::multiset<int> ms;

for (std::size_t i = 0; i < 4; ++i)

{

int temp;

std::cin >> temp;

ms.emplace(temp);

}

std::cout << "Novekvo sorrendbe: ";

for (const auto& i : ms)

{

std::cout << i << ", ";

}

}


int main(int argc, char** argv)

{

feladat_3();

feladat_4();

}



2015. dec. 1. 17:55
 1/3 anonim ***** válasza:

Lefordul vagy sem?

Azt csinálja, amit kell, vagy nem?

2015. dec. 1. 18:13
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
le, azt
2015. dec. 1. 19:25
 3/3 anonim ***** válasza:

A teljesség igénye nélkül (mivel kezdő feladatokról van szó, nem mennék mélyen bele a topicba),


int max = 0; <- Kerüld az olyan azonosítók használatát, amelyek ütközhetnek RTL/3rdP azonosítókkal.


for (std::size_t i = 0; i < 3; ++i) { <- Az a 3-as varázsszám. Kerüld. Miért 3? Mit jelent az a 3? Honnan jött? Nem hordoz elég információt, használj helyette konstanst (vagy konfigból/parancssorból feltöltött változót), amelynek a neve elárulja a célját. Ugyanez vonatkozik a másik feladat for ciklusára is.


if(!i <- Ezt gyorsan felejtsd el. Az i nem boolean, úgyhogy ne használd úgy, mintha az volna. Tessék szépen kiírni, hogy "i == 0"! Egyébként az sem teljesen tiszta, miért kell feltétlenül size_t-nek lennie.


std::multiset<int> ms; <- ne használj rövidítéseket. legyen ránézésre azonnal olvasható, mi az adott változó feladata.


std::cout << "Novekvo sorrendbe: "; <- ez technikailag rendben van, a magyar helyesírási szabályoknak viszont nem felel meg :)


for (const auto& i : ms) { <- És az utolsó elem után is kerül egy vessző. Nem érdemes erőltetni az iteratort.


"feladat_N" <- Hacsak nem a feladat kötelező érvényű része, javaslom, kerüld a magyar azonosítók használatát.


Az első feladatot szebben is megoldhattad volna, ha a csúnyácska beágyazott if helyett std::max -ot használsz - és még beszédesebb is :)


Van némi duplikáció a két feladat megoldása közt. Lehet, hogy érdemes volna megszüntetni valahogyan.


Plusz egy problémának érzem, hogy nem OO, de mivel kezdő feladatokról beszélünk... :)


Sok sikert!

2015. dec. 2. 17:01
Hasznos számodra ez a válasz?

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!