Witam. Mam program, który pyta użytkownika o podanie liczby, która oznacza ilość elementów tablicy dynamicznej. Następnie użytkownik zapisuje wartości do tych elementów i program wypisuje je na ekran. Więc napisałem coś takiego, ale to nie do końca działa:
#include <cstdio>
#include <iostream>
using namespace std;
int main() {
int i, how;
cout << "How many numbers?: ";
cin >> how;
int *tab = new int[how];
cout << '\n';
for(i = 0; i < how; ++i) {
cin >> *tab;
tab++;
}
cout << '\n';
for(i = 0; i < how; ++i) {
cout << *tab << " ";
tab++;
}
delete [] tab;
return 0;
}
Poprawiłem kod na taki i działa:
#include <cstdio>
#include <iostream>
using namespace std;
int main() {
int i, how;
cout << "How many numbers?: ";
cin >> how;
int *tab = new int[how];
cout << '\n';
for(i = 0; i < how; ++i) {
cin >> *(tab+i);
}
cout << '\n';
for(i = 0; i < how; ++i) {
cout << *(tab+i) << " ";
}
delete [] tab;
return 0;
}
Czemu w pierwszym wypadku wartości są losowe? Prosiłbym o wyjaśnienie. Pozdrawiam.