Wpis z mikrobloga

#programowanie #cpp #programujzdebilem

Chce se napisać programik, który mi randomowe liczby będzie zapisywał w pliku .txt narazie se sprawdzam, czy mi wypisze te randomowe liczby. Tutaj mam problem z tablicą

Jak napisać, że chce tablice o wielkości x?

Jeśli napiszę sobie int tablica [100]; no to mi zadziała.. ale ja chce taką akurat z x.

------------------------------------------------------------------

#include

#include

#include

#include

using namespace std;

int main () {

srand(time(0));

int x;

int tablica[];

cin >> x;

for (int i=0; i
tablica[i] = rand();

}

for (int i=0; i
//fstream mat;

//mat

cout << tablica[i] << endl;

}

return 0;

}

------------------------------------------------------------------
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@studbazer: Pisząc:

int tablica[x];

deklarujesz tablicę o rozmiarze 'x', a dokładniej o takiej liczbie komórek, jaka jest wartość 'x' w tym właśnie momencie. Jeśli modyfikujesz 'x' potem (przez wczytanie z cin), to nie ma to wpływu na rozmiar tablicy.

Podsumowując, jeśli deklarujesz 'int tablica[x]' bez uprzedniego przypisania konkretnej wartości do 'x', to ta tablica będzie mieć niezdefiniowany rozmiar (może 0, a może 99999...).
  • Odpowiedz
@l0stfake7: To nie jest dynamiczne alokowane bo w momencie utworzenia obiektu ty podajesz mu rozmiar to raz a dwa że nie można w trakcie usuwać obiektów bo wymaga to przepisania całego obiektu ponownie. Poza tym Wektory są bezpieczniejsze i wygodniejsze.
  • Odpowiedz