Odpowiedź :
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
//włączenie liczb pseudolosowych
srand(time(NULL));
//deklaracja i wczytanie zmiennej która będzie wielkośćią tablicy
int n;
cin >> n;
//zadeklarowanie tablicy tab
int tab[n];
/* nie zostało sprecyzowane z jakiego zakresu liczby mają być losowane
będe losował z zakresu inta */
for (int i=0;i<n;i++) {
tab[i]=rand();
}
//wypisywanie tablicy
for (int i=0;i<n;i++) {
cout<<tab[i]<<" ";
}
return 0;
}
Odpowiedź
Kod źródłowy w pierwszym załączniku, a w drugim i trzecim podałam jak wyglądają przykładowe wyniki uruchomienia.
Przyjęłam, że zakres liczb jest od 0 do rozmiar tablicy - 1.
Algorytm w przypadku gdy liczby nie mogą się powtarzać jest nieco nietypowy, ponieważ powszechnie używany generator mógłby wpaść w nieskończoną pętlę... (tzn. nigdy nie dać wszystkich liczb z zadanego zakresu).
Jeśli chcesz innego typu tablicy niż vector, to poproszę utwórz nowe zadanie.
Wyjaśnienie
Przykładowe wyniki uzyskałam w Visual Studio oraz na platformie replit. Nie wiem – bo nie ma tego w treści zadania – której platformy (programu, środowiska) używacie w szkole do pisania w C++, więc napisałam tak aby było ładnie.
Jeżeli Twoja platforma nie obsługuje polskich liter w nazwach zmiennych, to zamień je na odpowiadające im znaki ASCII. (Na przykład ani Code::Blocks, ani Dev-C++ jeszcze nie obsługują polskich liter w nazwach zmiennych.)
Wprawdzie zamiast unsigned int można by napisać int, ale wszystkie zmienne zdefiniowane jako unsigned int (indeksy tablic) na pewno nie przyjmują wartości ujemnych, tak więc użycie unsigned int jest uzasadnione.