Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: juankpo121 en 18 Agosto 2017, 03:07 AM

Título: crear matriz con numeros aleatorios en c
Publicado por: juankpo121 en 18 Agosto 2017, 03:07 AM
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;
}
Título: Re: crear matriz con numeros aleatorios en c
Publicado por: engel lex en 18 Agosto 2017, 03:24 AM
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
Título: Re: crear matriz con numeros aleatorios en c
Publicado por: 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.
Título: Re: crear matriz con numeros aleatorios en c
Publicado por: 0xFer en 18 Agosto 2017, 23:59 PM
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.
Título: Re: crear matriz con numeros aleatorios en c
Publicado por: engel lex en 19 Agosto 2017, 01:14 AM
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...  :¬¬
Título: Re: crear matriz con numeros aleatorios en c
Publicado por: 0xFer en 19 Agosto 2017, 02:49 AM
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
Título: Re: crear matriz con numeros aleatorios en c
Publicado por: Serapis en 19 Agosto 2017, 04:37 AM
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...
Título: Re: crear matriz con numeros aleatorios en c
Publicado por: juankpo121 en 19 Agosto 2017, 15:23 PM
he leido hdps, lo que quiero saber es como solucionarlo
Título: Re: crear matriz con numeros aleatorios en c
Publicado por: engel lex en 19 Agosto 2017, 20:08 PM
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