elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda con la diagonal principal de una matriz para dejarla vacía
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con la diagonal principal de una matriz para dejarla vacía  (Leído 2,370 veces)
creiko

Desconectado Desconectado

Mensajes: 44


Ver Perfil
ayuda con la diagonal principal de una matriz para dejarla vacía
« en: 1 Junio 2016, 16:20 pm »

no puedo hacer esta parte
la diagonal principal debe estar vacía o con caracteres especiales (*,/,+,-,%,&,$)
y lo único que puedo es llenarla de ceros


Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. #include<time.h>
  5.  
  6. //generar una matriz de 16x16 con números aleatorios  
  7. //y la diagonal principal debe estar vacía o con cualquiera de los siguientes caracteres (*,/,+,-,%,&,$)
  8.  
  9. int main()
  10. {
  11. int i,j,a;
  12. int m[16][16];
  13. int w=16+1;
  14.  
  15. srand (time(NULL));
  16. for(i=0;i<=15;i++)
  17. {
  18. for(j=0;j<=15;j++)
  19. {
  20. if(i==j)
  21. {
  22. m[i][j]=0;  
  23. }
  24. else
  25. if(i==w-j)
  26. {
  27. m[i][j]=0;
  28. }
  29. else
  30. {
  31. m[i][j]=1+rand()%(9);
  32.    }
  33. }
  34. }
  35. printf("       e0  e1  e2  e3  e4  e5  e6  e7  e8  e9  e10  e11  e12  e13  e14  e15 \n");
  36. for(i=0;i<=15;i++)
  37.    {
  38.     printf(" e %d",i);
  39.     for(j=0;j<=15;j++)
  40.     {
  41.     printf("   %d  ",m[i][j]);
  42. }
  43. printf("\n\n");
  44.    }
  45. }
  46.  


« Última modificación: 1 Junio 2016, 17:44 pm por creiko » En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: ayuda con la diagonal principal de una matriz
« Respuesta #1 en: 1 Junio 2016, 17:51 pm »

Sinceramente, no comprendo el problema. Primero, si quieres que la matriz tenga caracteres, ¿por qué guardas los valores en un arreglo bidimensional de enteros? ¿No sería mejor usar char m[16][16]? Entonces en la asignación podrías hacer m[ i][j] = '&' o el carácter especial que quieras.

Por otra parte, no comprendo tampoco el 'else if' del código. No entiendo su función.

Si lo que quieres hacer es que la diagonal principal tenga uno de los caracteres mencionados o el elemento esté vacío, podrías crear un arreglo de caracteres como este:

Código
  1. const char caracteres[] = {'\0', '*', '/', '+', '-', '%', '&', '$'};

y cuando vayas a asignar algo a un elemento de la diagonal, podrías generar un número aleatorio entre 0 y el número de caracteres especiales:

Código
  1. matriz[i][j] = caracteres[rand()%8];


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
geeke

Desconectado Desconectado

Mensajes: 93


Ver Perfil
Re: ayuda con la diagonal principal de una matriz para dejarla vacía
« Respuesta #2 en: 1 Junio 2016, 20:00 pm »

Una posible solución
Código
  1. int main()
  2. {
  3.    int i, j, n = 16;
  4.    char array[n][n];
  5.  
  6.    srand (time(NULL));
  7.  
  8.    for( i = 0; i < n; i++ )
  9.        for( j = 0; j < n; j++ )
  10.            array[i][j] = i==j ? "*/+-%&$"[rand()%7] : 1+rand()%9+'0';
  11.    //Imprimir aqui
  12.    return 0;
  13. }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Diagonal secundaria de matriz.!
Scripting
cuazzo 6 32,300 Último mensaje 22 Junio 2010, 01:17 am
por cuazzo
Guardar la segunda diagonal de una matriz
Programación C/C++
DickGumshoe 5 7,901 Último mensaje 5 Marzo 2012, 18:54 pm
por DickGumshoe
Obtener los valores nulos sobre la diagonal principal.(Array 2D)
Programación C/C++
mikem 3 2,744 Último mensaje 19 Octubre 2014, 18:26 pm
por leosansan
suma de los elementos encima de la diagonal principal en c
Programación C/C++
cable 1 8,189 Último mensaje 21 Noviembre 2016, 18:32 pm
por Kenji-chan
ayuda diagonal principal y secundaria phyton 3
Scripting
papess 2 12,471 Último mensaje 13 Mayo 2019, 18:51 pm
por papess
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines