How to set the number 1 to a matrix ([5][10]) in 15 random places in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define ROW 5
#define COL 10
 
void print_matrix(int m[][COL]);

int main(void)
{
    int i, j, counter = 1, matrix[ROW][COL] = { {0}, {0} };
         
    srand(time(NULL));
    while (counter <= 15)
    {
        i = rand() % 5; // 0 - 4
        j = rand() % 10; // 0 - 9
        if (matrix[i][j] != 1)
        {
            matrix[i][j] = 1;
            counter++;
        }
    }
    print_matrix(matrix);
    printf("\n");
   
    return 0;
}
 
void print_matrix(int m[][COL])
{
    int i, j;
       
    for (i = 0; i < ROW; i++)
    {
        for (j = 0; j < COL; j++)
             printf("%4i", m[i][j]);
           
        printf("\n");
    }
}
 
 
/*
run:
 
   0   0   0   1   1   0   0   0   0   1
   0   0   0   1   0   1   0   0   0   0
   0   0   0   0   1   0   0   0   0   0
   1   0   1   0   0   0   1   1   0   0
   1   1   1   0   0   1   1   0   0   0

*/ 


answered Sep 28, 2014 by avibootz

Related questions

1 answer 165 views
1 answer 158 views
1 answer 169 views
1 answer 169 views
1 answer 161 views
1 answer 146 views
...