Matriz aleatoria en c

Iniciado por Fulanito19, 14 Mayo 2019, 20:56 PM

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

Fulanito19

Buenas tengo un problema para imprimir una matriz aleatoria en c en ubuntu y es que al imprimir directamente me salen como unos cuadrados muy raros si me podeis ayudar se agradece ;D

CODIGO:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUMFILAS 6
#define NUMCOLUMNAS 6

void inicializa(int m[NUMFILAS][NUMCOLUMNAS]);

int main(int argc, char*argv[]){
   int m[NUMFILAS][NUMCOLUMNAS];
   srand(time(NULL));
   inicializa(m);
   return 0;
}

void inicializa(int m[NUMFILAS][NUMCOLUMNAS]){
   int i,j;
   for(i=0;i<NUMFILAS;i++){
      for(j=0;j<NUMCOLUMNAS;j++){
         m[j]=rand()%10+1;
         printf("%ls\t",&m [j]);
         
}
         printf("\n");   
}

         
   
}

OBSERVACIÓN: Antes de los [j] deberia salir un i entre corchetes tambien pero no sale no se porque

K-YreX

La i entre corchetes no sale porque se traduce como una etiqueta de cursiva. Por eso a partir de ahí viene escrito en cursiva. Para solucionarlo mete tu código entre etiquetas de código GeSHi seleccionando como lenguaje C.

Y estás usando el formato %ls que la s es para cadenas cuando estás usando una matriz de enteros. El formato para enteros es %d.
Además estás intentando mostrar la dirección de memoria de cada elemento, en vez de el elemento.

printf("%d", &variable); // muestras la dirección de memoria de variable
printf("%d", variable); // muestra el valor entero de la variable
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;