Kezdőoldal » Számítástechnika » Programozás » Mi ebben a C++ programrészletb...

Mi ebben a C++ programrészletben a hiba?

Figyelt kérdés

Futtatáskor memóriaszemét jelenik meg. Hogyan kellene átírnom, hogy kiírja a véletlen számokat ?


#include<iostream>

#include<ctime>

#include<cstdlib>

using namespace std;


int main ()


{

srand(time(0));

int szam[100];

for (int i=0;i<99; i=1+1)

{

szam[i]=rand()%(1000-100+1)+100;

cout<<szam<<endl;

}


return 0;

}



2017. márc. 13. 23:11
1 2
 11/12 tabaki ***** válasza:

„helyesen i=i+1”


Nem kenyerem a C++, de nekem ez kissé idétlenül hat, még ha működik is. Egy egész léptetésre nem összeadást, hanem a ++ operátort szokás használni, vélhetőleg okkal, mondjuk így:

c++

(Hm? Ült a nyelv névadóinak poénja?) De összeadásnál is inkább a „césebb” i += 5 forma dívik.

100 - 10 + 1 pedig szerintem mindig 91, fölösleges százszor kiszámoltatnod a ciklusban.

2017. márc. 14. 11:38
Hasznos számodra ez a válasz?
 12/12 tabaki ***** válasza:
Ja, azért azt illik megjegyeznem, hogy nem tudom, hogyan optimalizál a fordító -- lehet, hogy észreveszi az állandóan változatlan összeadást, és ő helyettesíti be a konstans értékkel.
2017. márc. 14. 11:42
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!