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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Ejercicios / Re: Duda funciones programación en C en: 16 Diciembre 2016, 01:40 am
Hola, he hecho el ejercicio completo de nuevo, me gustaría saber si hago bien las llamadas:


Código
  1. #include<stdio.h>
  2.  
  3. #define N 50
  4. #define M 50
  5.  
  6.  
  7.  
  8. void matrices (int mat[N][M],int F,int C){
  9.  
  10.  
  11.  
  12.  
  13. for (i=0;i<F;i++){
  14.   for (j=0;j<C;j++){
  15.   printf ("Introduzca un numero":);
  16.    scanf ("%d",&mat[i][j]);
  17.  
  18.  
  19. }
  20. }
  21.  
  22. }
  23.  
  24. void mostrar (int matriz [N][M],int z,int v) {
  25.  int i,j;
  26.  for (i=0;i<z;i++){
  27.    for (j=0;j<v;j++){
  28.      printf ("%d\n",mat[i][j]);
  29.  
  30. }
  31. }
  32.  
  33. }
  34.  
  35. void suma (int A[N][M],int B[N][M],int c,int d,int p,int q,int sum[N][M]) {
  36.  
  37. int i,j;
  38. if (c==p && d==q);
  39.   for (i=0;i<c;i++){
  40.    for (j=0;j<d;j++){
  41.  
  42.  
  43.      sum[i][j] = A[i][j] + B[i][j];
  44.  
  45. }
  46. printf ("\n");
  47. }
  48.  
  49.  else {
  50. printf ("las matrices no tienen la misma dimensión, por lo que no se pueden sumar:\n");}
  51. }
  52.  
  53.  
  54.  
  55.  
  56. void MINIMO (int matrices A[N][M], int matrices B[N][M],int e,int f,int h, int g){
  57. int i,j;
  58.  
  59. if (e==f) {
  60. printf ("el minimo de la diagonal secundaria de la matriz A:\n");
  61.     MIN = A[0,e-1];
  62.  
  63.      for (i=0;i<e;i++){
  64.         if (MIN>A[i,e-1-i]){
  65.            MIN = A[i,e-1-i]
  66. }
  67.  
  68. }
  69.  printf ("%d\n",MIN);
  70. }          
  71.  
  72. else {printf ("La matriz A no es cuadrada. Por tanto, no se puede calcular la diagonal\n"); }
  73.  
  74. if (h==g) {
  75.  
  76.   printf ("el minimo de la diagonal secundaria de la matriz B es: \n");
  77.   MIN= B[0,h-1]
  78.  
  79. for (i=0;i<h;i++){
  80.         if (MIN>B[i,h-1-i]){
  81.             MIN = B[i,h-1-i];
  82. }
  83.  
  84. }
  85.  printf ("%d\n", MIN);
  86. }
  87.  
  88.  else {printf ("La matriz B no es cuadrada. Por tanto, no se puede calcular la diagonal\n");}
  89. }
  90.  
  91. void multiplicacion (int mat1[N][M],int mat2[N][M],int a, int b, int c, int d) {
  92. int i,j,k;
  93. int multiplicacion [a][d], resultado ;
  94.  if (b==c) {
  95.    for (i=0;i<b;i++){
  96.      for (j=0;j<c;j++){
  97.  
  98.        {resultado = 0;
  99.         for (k=0;k<d;k++) {
  100.           resultado+= (matrizA[i][k] * matrizB[k][j]);
  101.             multiplicacion[i][j]=resultado;
  102.               }}}
  103. printf ("El resultado de la multiplicación es:\n");
  104.    for (i=0; i<a; i++)
  105.        {
  106.            for (j=0; j<b; j++)
  107.            {
  108.                printf ("%d ", multiplicacion[i][j]);
  109.            }
  110.            printf ("\n");
  111.        }
  112.    printf ("\n");
  113.    }
  114.  
  115.  
  116. void menu (void)
  117. {printf ("ELIJA UNA OPCION:\n");
  118. printf ("0- SALIR\n");
  119. scanf ("%d", &opcion1);
  120. printf ("1- MOSTRAR MATRICES\n");
  121. scanf ("%d", &opcion2);
  122. printf ("2- SUMAR MATRICES\n");
  123. scanf ("%d", &opcion3);
  124. printf ("4- CALCULAR MINIMO DE LA SEGUNDA DIAGONAL DE AMBAS MATRICES\n");
  125. scanf ("%d", &opcion4);
  126. printf ("5- MULTIPLICAR MATRICES \n");
  127. scanf ("%d", &opcion5);
  128. printf ("\n");
  129. }
  130.  
  131. int main (void) {
  132.  
  133. int B[N][M];
  134. int C[N][M];
  135. int Sum[N][M];
  136.  
  137.  
  138. int i,j,x,y,w,t;
  139.  
  140.  
  141. leer matrices (B,x,y);
  142. printf ("Introduzca el número de filas:%d\n");
  143. scanf ("%d",&x);
  144. printf ("Introduzca el número de columnas:%d\n");
  145. scanf ("%d",&y);
  146.  
  147.  
  148.  
  149.  
  150. leer matrices (C,w,t);
  151.  
  152. printf ("Introduzca el número de filas:%d\n");
  153. scanf ("%d",&w);
  154. printf ("Introduzca el número de columnas:%d\n");
  155. scanf ("%d",&t);
  156.  
  157. suma (x=10, y=10);
  158.  
  159. }

Me interese está última parte, la del main, ¿hago correctamenta las llamadas a las otras funciones?

Gracias


Mod: Los códigos deben ir en etiquetas GeSHi
2  Programación / Ejercicios / Re: Duda funciones programación en C en: 10 Diciembre 2016, 23:40 pm
Hola, ¿Cómo lo planterías? especialmente "1.Almacenar una matriz de orden nxm introducida desde teclado. (n y m se pedirán por teclado). El usuario debe introducir dos matrices,llamando dos veces a misma función.

// 2.Imprimir en pantalla una matriz. Se llamará dos veces a la función para mostrar ambas matrices."
3  Programación / Ejercicios / Re: Duda funciones programación en C en: 10 Diciembre 2016, 20:02 pm
Ok gracias, me surgió otra duda, las funciones de cada apartado se hacen por separado o todos tienen que estar en una sola función.

Gracias
4  Programación / Ejercicios / Duda funciones programación en C en: 10 Diciembre 2016, 18:36 pm
Hola, tengo el siguiente ejercicio de funciones:


// Se desea realizar las siguientes tareas con matrices:

// 1.Almacenar una matriz de orden nxm introducida desde teclado. (n y m se pedirán por teclado). El usuario debe introducir dos matrices,llamando dos veces a misma función.

// 2.Imprimir en pantalla una matriz. Se llamará dos veces a la función para mostrar ambas matrices.

// 3.Calcular la suma de ambas matrices (tienen que coincidir sus nº de filas y sus no de columnas)

// 4.Calcular el mínimo de la diagonal secundaria para la matriz que elija el usuario. La función recibirá como parámetro la matriz correspondiente.

// 5.OPCIONAL: Hallar el producto de dos matrices (pij = ai1b1j + ai2b2j + ai3b3j + . . . + ainbnj). Para ello, primero hay que comprobar si se pueden multiplicar, es decir, el número de columnas de la primera matriz tiene que coincidir con el número de filas de la segunda.

// Se pide: Construir un programa en C que haciendo uso de llamadas funciones resuelva las areas anteriores. Además el programa debe mostrarle al usuario un menú con las distintas opciones. Dicho menú también estará implementado en una función.

Lo tengo que hacer con funciones y aunque sé que tengo mil errores en el código y me faltan cosas, quisiera que me dijeran los errores principales que ven, cómo se haría el return con varios valores,muchas gracias:

Código
  1. #include<stdio.h>
  2.  
  3. #define N 4
  4.  
  5.  
  6. int matrices (int A[N][N],int B[N][N]); {
  7.  
  8. int i,j,suma,minimo;
  9. minimo= B[i][j]
  10.  
  11.  
  12. for (i=0;i<N;i++){
  13. for (j=0;j<N;j++){
  14. printf ("Introduzca un número:");
  15. scanf ("%d",&A[i][j]);
  16. }
  17. }
  18.  
  19. for (i=0;i<N;i++){
  20. for (j=0;j<N;j++){
  21. printf ("Introduzca un numero:");
  22. scanf ("%d",&B[i][j]);
  23.  
  24.  
  25. }
  26. }
  27.  
  28. for (i=0; i<N;i++){
  29. for (j=0;j<N;j++){
  30.  
  31. Suma[i][j]= A[i][j] + B[i][j];
  32. }
  33. }
  34. printf ("la suma es :\n");
  35.  
  36. for (i=0;i<N;i++){
  37. for (j=0;j<N;j++){
  38. if (i+j=n+1 < minimo)
  39. minimo = i+j=n+1
  40. printf ("El numero es :\n");
  41.  
  42. return (suma,i+j=n+1)
  43.  
  44. }
  45. }
  46. printf ("la suma es :\n");
  47.  
  48.  
  49. int main (void) {
  50.  
  51. int x,y;
  52.  
  53.  
  54. printf ("La suma es %d\t", suma (x,y);
  55.  
  56. printf ("El numero es %d\n", minimo);
  57. }
  58.  
  59.  


Mod: Los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines