Как я могу выбрать случайную строку в массиве? - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть проект для генетического алгоритма. Я делаю случайный массив с моим кодом. Мне нужна ваша помощь для случайного выбора двух строк. Пожалуйста, дайте мне пример кода, потому что я пробую слишком много раз, но не могу найти решение.

Вот мой код,

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 20 

void init(int a[SIZE][SIZE], int sum[SIZE]);
void dump(int a[SIZE][SIZE], int sum[SIZE]);

int main()
{
  int a[SIZE][SIZE]; 
  int sum[SIZE]; 
  init(a, sum);
  dump(a, sum);
  return 0;
}

void init(int a[SIZE][SIZE], int sum[SIZE])
{
  srand(time(NULL));
  int i,j;
  for (i=0; i<SIZE; ++i)
  {
    sum[i] = 0;
    for(j=0; j<SIZE; ++j)
    {
      a[i][j] = rand() % 2;
      sum[i] += a[i][j];
    }
  }
}
void dump(int a[SIZE][SIZE], int sum[SIZE])
{
  int i,j;
  for (i=0; i<SIZE; ++i)
  {
    for(j=0; j<SIZE; ++j)
      printf("% 2d", a[i][j]);
    printf(" sum = %d\n", sum[i]);
  }
}

1 Ответ

0 голосов
/ 21 апреля 2019

Вы можете использовать случайную функцию - rand ()

, если вы используете rand()% RAND_MAX rand () сгенерирует случайное число от 0 до RAND_MAX-1, т.е. rand ()% 100 сгенерирует случайное число от 0до 99.

Случайное число между минимумом и максимумом может быть сгенерировано:

minimum + (rand() % (maximum – minimum + 1));

Но всякий раз, когда вам нужно сгенерировать последовательность случайного числа, вы должны использовать функцию srand ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...