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

Losowanie różnych elementów do dwóch tablic
SC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Cześć,

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

Kopiuj
#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.

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
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

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
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).

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
3

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.