crear matriz con numeros aleatorios en c

Iniciado por juankpo121, 18 Agosto 2017, 03:07 AM

0 Miembros y 1 Visitante están viendo este tema.

juankpo121

hola, tengo un problema con programacion en c. necesito crear una matriz de 10 x 10 y llenarla con numeros generados aleatoriamente entre 0 y 100.
el problema es que no me genera la matriz en la pantalla. no logro llegar a diez filas por diez columnas solo me muestra unos numeros. aqui esta el codigo en c:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i=0,j=0;
    int m[10][10];
    srand(time(NULL));

    for(i=0;i<10;i++){
        for(j=0;j<10;j++){
            m[i][j]=rand()%100+1;
        }
    }
    printf("%d",m[i][j]);

    return 0;
}

engel lex

for(i=0;i<10;i++){//<-- entra al ciclo i
        for(j=0;j<10;j++){// entra al ciclo j
            m[i][j]=rand()%100+1;
        }//<- sale del ciclo j
    }//<- sale del ciclo i
    //i y j están fuera de la condición del ciclo, i y j son 10
    printf("%d",m[i][j]);//<- imprimes m[10][10] que no exíste, el resultado es basura de la ram
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

juankpo121

disculpame engel lex, pero no me anda, pusiste el mismo codigo que yo xD, solo me imprime un numero que es 65854 o por ahi. las i son de filas y las j de columnas y no logro crear la matriz de 10 x 10.

0xFer

#3
Cita de: juankpo121 en 18 Agosto 2017, 23:50 PM
disculpame engel lex, pero no me anda, pusiste el mismo codigo que yo xD, solo me imprime un numero que es 65854 o por ahi. las i son de filas y las j de columnas y no logro crear la matriz de 10 x 10.

Al menos lee antes de copiar código  :-\ , te dijeron cuales son los errores en tu código. Estás accediendo a direcciones de memoria que contiene basura. Ya te lo explicaron solo lee.

Citar//i y j están fuera de la condición del ciclo, i y j son 10
    printf("%d",m[j]);//<- imprimes m[10][10] que no exíste, el resultado es basura de la ram
En ese momento, i es igual a 10, j es igual a 10, tu matriz m contiene valores en las posiciones del 0 al 9 ya que su tamaño es 10 entoces m[10][10] contiene basura.
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

engel lex

Cita de: juankpo121 en 18 Agosto 2017, 23:50 PM
disculpame engel lex, pero no me anda, pusiste el mismo codigo que yo xD, solo me imprime un numero que es 65854 o por ahi. las i son de filas y las j de columnas y no logro crear la matriz de 10 x 10.

literalmente ni si quiera viste el código, es decir, es difícil ignorar los comentarios... especialmente si te diste cuenta que es el mismo código...  :¬¬
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

0xFer

Cita de: aGeNo en 19 Agosto 2017, 02:44 AM
Supongo q esto es lo que pedis.. muchas vueltas para ayudarte en algo facil

Esto me recuerda al dicho Dale un pez a un hombre y comerá un día; enseñalo a pescar y comerá siempre
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

Serapis

Por eso es mejor responder con pseudocódigo. No pueden copiar y pegar sin más, tienen que leerlo sí o sí, y entenderlo... obligas a que se esfuercen...

juankpo121

he leido hdps, lo que quiero saber es como solucionarlo

engel lex

El insulto está de más... lo que quieres no es resolverlo es que lo resuelvan por ti...

en resumen, si quieres imprimir, es exactamente accediendo a los elementos como hiciste para escribir la matriz...

Insultas y ni si quiera se te ocurre preguntar por qué está mal tu forma, sólo te molestas porque el código no está resuelto
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.