Losowanie różnych elementów do dwóch tablic

0

Cześć,

mam pytanie tak jak w temacie - jak wylosować różne liczby do dwóch osobnych tablic jedną funkcją?

#include <iostream>
#include <cstdlib>
#include <ctime>
 
 
 
void losuj(int t[], int N)
{
    srand(time(0));
    for (int i = 0; i < N; i++)
    {
        t[i] = -5 + rand() % (29 - (-5) + 1);
    }
}
 
 
void wypisz(int t[], int N)
{
    for (int i = 0; i < N; i++)
    {
        std::cout << t[i] << " ";
    }
}
 
int main()
{
 
     
    const int N = 10;
    int A[N];
    int B[N];
 
    losuj(A,N);
    losuj(B, N); 
     
     wypisz(A,N);
     std::cout << "\n";
     wypisz(B,N);
 
 
    std::cin.ignore();
    std::cin.get();
    return EXIT_SUCCESS;
}

Obecnie liczby w obu tablicach są takie same.

3

srand(time(0)); powinno być na początku programu a nie w funkcji losującej

BTW Od liceum nie widziałem tego błędu. Aż się łezka w oku zakręciła

3

Polecam nie używać rand szczególnie, że pod MSVC jest ono bardzo kulawe.
Jako, że mowa o C++ polecam przeczytać artykuł od kq: https://dsp.krzaq.cc/post/180/nie-uzywaj-rand-cxx-ma-random/ (i obejrzeć filmik z artykułu jeśli angielski nie jet problemem).

3

Nie używaj tablic w stylu C, tylko std::vector<>.

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