Ajuda com matrizes de 0 e números aleatórios em C

  • Autor Autor Byter
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
B

Byter

Usuário com poucas negociações! Use sempre o saldo do 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.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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 edição:
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
 
Voltar
Topo