Tablica char

0

Witam. Jako, że chcę dodać do mojego programu niezbędną funkcję to potrzeba mi tablicy charów. Jednak chcę aby można było podczas działania programu wpisywać wielkość tej tablicy. Wiem że ten sposób:

int n;
cin >> n;
char tablica[n];

jest błędny. Dlatego szukam sposobu aby go zastąpić. Mógłby ktoś w prosty i jasny sposób mi pomóc? W internecie rzeczywiście jest sporo na ten temat, ale czytając to wszystko wiedza mocno mi się pomieszała.

3

#include <memory> + unique_ptr<char> tablica_ptr(new char[n]);
lub
#include <vector> + vector<char> tablica(n);
lub (tu się łatwo sparzysz)
char *tablica = new char[n];
lub (na to poczekasz do C++17 albo lepiej)
#include <dynarray> + dynarray<char> tablica(n);
lub (naprawdę potrzebujesz tego n?)
#include <string> + string tablica(n, '\0'); //a właściwie to ciąg

0

Dzięki za nakierowanie! Jak będę miał co do tego pytania to mogę walić tutaj jeszcze?

0

Zrobiłem ten sposób z

char *tablica = new char[n]; 

. I teraz problem. Jak mogę wyświetlić po kolei wszystkie wpisane wartości?

2

W sposób prozaiczny (zakładając, że tablica nie jest null-terminated):

for(size_t i = 0; i < n; ++i)
    cout << tablica[n];

w przeciwnym wypadku cout << tablica;

0

Dzięki! Fajnie, że mi pomogłeś. Na pewno tu jeszcze wrócę haha

1 użytkowników online, w tym zalogowanych: 0, gości: 1