Ayuda con matrices de 0 y números aleatorios en C

  • Autor Autor Byter
  • Fecha de inicio Fecha de inicio
B

Byter

Alfa
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas gente de beta verán necesito con una programa que estoy creando:
-necesito crear una matriz el la cual este cargada solo de 0 y que tenga una cierta cantidad de números de un solo valor ubicados aleatoreamente.

ejemplo:
una matriz de 5*5 llena de 0 que tenga solo tres 2 posicionados aleatoreamente.


AVISO QUE ES EN C ES UNA MATRIZ BIDIMENCIONAL SENCILLA.
gracias y buen dia.
 
Pero cual es la duda que tienes? O queres un script ya hecho? 🙂
 
es como hacerlo si me puedes ayudar con el código muy agradecido
 
Última edición:
Busca en google bro:

dimensional matrix random numbers c

Dudo que alguien te haga el código , pero si mal no recuerdo con dos ciclos for (columna y fila) puede crear esa matriz y con un contador cada cierto valor (por ejemplo si es igual a 5) generar un nuevo aleatorio (debes buscar como se generan) y reiniciar el contador a 0 o algo así hechale ganas amigo, no me imagino cuando veas estructura de datos con punteros eso si es un poco más enredado.
 
dale muchísimas gracias si capto es medio confuso pero ahí le agarro el tiro gracias
 
crear una matriz el la cual este cargada solo de 0 y que tenga una cierta cantidad de números de un solo valor ubicados aleatoreamente.
crea la matriz, la recorres con 2 ciclos para fila y columna y la llenas de ceros
luego genera los numeros aleatorios en el rango de 0-fila y de 0-columna y finalmente un nuevo numero aleatorio que incertaras en esa posicion.
con la libreria time.h
srand(time(NULL)); para que genere los numeros aleatorios diferentes cada vez que arrancas el programa.
int r = rand();
 
Estas de suerte no tengo nada que hacer jeje, necesitas 2 ciclos for para mover las 2 dimenciones y luego un for para ejecutar 3 veces los random.

for(x=0;x<5;x++)
for(y=0;y<0;y++){
Matriz[x][y]=0;
}
}
for(x=0;x<3;x++){
Matriz[random][random]=2;
}

Los ciclos estan bien pero no recuerdo bien como se definia rand en C para que te genere numeros entre 0 y 4 que serian las posiciones aleatorias de la mstriz.

Saludos. [MENTION=166182]Byter[/MENTION]
 
es rand()%"valor"; asi lo coloco dentro de las posiciones? Gracias vere como me va.

Estas de suerte no tengo nada que hacer jeje, necesitas 2 ciclos for para mover las 2 dimenciones y luego un for para ejecutar 3 veces los random.

for(x=0;x<5;x++)
for(y=0;y<0;y++){
Matriz[x][y]=0;
}
}
for(x=0;x<3;x++){
Matriz[random][random]=2;
}

Los ciclos estan bien pero no recuerdo bien como se definia rand en C para que te genere numeros entre 0 y 4 que serian las posiciones aleatorias de la mstriz.

Saludos. [MENTION=166182]Byter[/MENTION]
 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
srand(time(NULL));

int matriz[5][5];
int i;
int j;
memset(matriz, 0, sizeof(matriz[0][0]) * 5 * 5);

for(i=0;i<3;i=i+1)
matriz[rand() % 5][rand() % 5]=2;

for(i=0;i<5;i=i+1)
for(j=0;j<5;j=j+1)
printf("%d",matriz[j]);
return 0;
}
Esto es supongo, Saludos 🙂 Nice coding
 
muchísimas gracias amigo mio si me sirvió ya entendí el método y funciono, Saludos

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
srand(time(NULL));

int matriz[5][5];
int i;
int j;
memset(matriz, 0, sizeof(matriz[0][0]) * 5 * 5);

for(i=0;i<3;i=i+1)
matriz[rand() % 5][rand() % 5]=2;

for(i=0;i<5;i=i+1)
for(j=0;j<5;j=j+1)
printf("%d",matriz[j]);
return 0;
}
Esto es supongo, Saludos 🙂 Nice coding
 
Atrás
Arriba