C++ Array méretezésben kellene segítség?
Figyelt kérdés
#include <iostream>
using namespace std;
int main() {
int be, i = 1;
int binaris[i];
cout << "Udv, a program binarissa alakitja a beutott szamot." << endl;
cout << "Uss be egy szamot!" << endl;
cin >> be;
for(i = be; i > 0; i--) {
if(i % 2 == 1) {
binaris[i] = 1;
}
else {
binaris[i] = 0;
}
}
while( i > 0) {
cout << i << " " << endl;
}
system("PAUSE");
return 0;
}
Ez a problémám, nem tudom, hogy a "binaris" array-t hogyan állíthatnám be úgy, hogy bármekkora int számmal megbirkózzon, de ne legyen túlméretezve sem. Simán állítsam 6 számjegyre, vagy lehet változóval a méretét is állítani?
2012. máj. 9. 17:38
1/3 iostream válasza:
int* binaris = new int[<kívánt méret>];
A használat után pedig delete[] binaris;
De jobb, ha std::vector-t használsz.
2/3 _Jessy_ válasza:
a mérete legyen (int)log2(i) + 1, ekkor maximum eggyel lesz túlméretezve a tömböd, és gyorsabb, mint a vector.
3/3 _Jessy_ válasza:
Megjegyzés: Ha int-et kérsz be, tömb se kell :D
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!