Apoyo a Cursos Ofrecidos
  Ejercicio matrices
 

TALLER:  MATRICES

Resuelva las siguientes funciones y haga su llamado y entregue los resultados en el main, a partrir del algoritmo.

Como primera actividad estudie con detalle el algoritmo y copielo en Dev C++ para su compilación y ejecución.

Un algoritmo con Matrices de cualquier tamaño que calcule y entregue (restringido a 10x10 máximo): 

  • Una función que determine el mayor de la colección
  • Una función que determine el menor de la colección.
  • Una función que calcule el promedio de la colección
  • Una función que dados  los índices de una posición en la matriz entregue su contenido
Un algoritmo para Matrices cuadradas que aplique las siguientes funciones:
  • Una función que calcule la suma de la diagonal principal
  • Una función que calcule la suma de la diagonal secundaria
  • Una funcion que calcule la suma del triángulo superior
  • Una funcion que calcule la suma del triángulo inferior
  • Una funicón que determine si es matriz identidad.

Un algoritmo para compara matrices:

  • Una función que defina si 2 matrices son iguales. 


Sitio de consulta.  Fundamentos de Matrices:
http://personal5.iddeo.es/ztt/Tem/t6_matrices.htm

Funciones base para la implementación del taller:

//función que regresa el mayor de la colección
int f_mayor (int F, int C, int M[10][10])
{
    int i,j,MAYOR;
    MAYOR=M[1][1];
    for (i=1;i<=F;i++)
        for (j=1;j<=C;j++)
        if (MAYOR < M[i][j])
           MAYOR = M[i][j];
    return (MAYOR);
}
// función que a partir de los índices devuelve el contenido del campo
int f_campo (int F, int C, int M[10][10], int X, int Y)
{
   
    int CAM, i, j;
    for (i=1;i<=F;i++)
        for (j=1;j<=C;j++)
            if ((i==X)&&(j==Y))
               CAM = M[i][j];
    return (CAM);
}

// función que a compara 2 matrices y regresa 1 si son iguales y 0 sino
//se asume que las 2 matrices tienen las mismas filas y columnas
int f_matricesiguales (int F, int C, int M[10][10],int N[10][10])
{
   
    int RTA, i, j;
    RTA=1;
    for (i=1;i<=F;i++)
        for (j=1;j<=C;j++)
            if ((M[i][j]) != (N[i][j]))
               RTA = 0;
    return (RTA);
}


Para operaciones con matrices, se presenta el algoritmo de multiplicación de matrices y como ejercicios se debe diseñar uno para suma de matrices

# include <conio.h>
# include <stdio.h>

//función multiplicación de matrices A*B=C

//se asume que las matrices A y B cumplen el tamaño donde
//número de columnas de A es igual al número de filas de B
void f_multiplicamatrices (int f1, int c1, int A[10][10], int f2, int c2, int B[10][10], int C[10][10])
{
  int s,i,j,k;
  for(i=1;i<=f1;i++)
  {
    for(int j=1;j<=c2;j++)
    {
      s = 0;
      for(int k=1;k<=f2;k++)
      {
         s=s+A[i][k]*B[k][j];
         C[i][j] = s;
      }
    }
  }
}

   
int main ()
{
   int f1,c1,f2,c2,f3,c3,i,j,m[10][10],n[10][10],c[10][10];
  
   //lectura de la colección m en una estructura bidimensional
   //esta matriz aplica para las funciones que requiere una sola matriz
   printf ("tt Introduzca número de filas Matriz A...  ");
   scanf ("%d",&f1);
   printf ("tt Introduzca número de columnas Matriz A...  ");
   scanf ("%d",&c1);
   for (i=1; i<=f1; i++)
       for (j=1; j<=c1; j++)
   {
      printf ("t Intoduzca el elemento %d,%d ...  ",i,j);
      scanf ("%d",&m[i][j]);
   }
  
   //lectura de la colección n en una estructura bidimensional
   printf ("tt Introduzca número de filas Matriz B...  ");
   scanf ("%d",&f2);
   printf ("tt Introduzca número de columnas Matriz B...  ");
   scanf ("%d",&c2);
   for (i=1; i<=f2; i++)
       for (j=1; j<=c2; j++)
   {
      printf ("t Intoduzca el elemento %d,%d ...  ",i,j);
      scanf ("%d",&n[i][j]);
   }
  
   //llamado de la función void que multimplica matrices y escritura del resultado
   f_multiplicamatrices (f1,c1,m,f2,c2,n,c);
   f3=f1;
   c3=c2;
   for (i=1; i<=f1; i++)
       for (j=1; j<=c1; j++)
           printf ("t M[%d,%d]... %d  n",i,j,c[i][j]);

getch ();
return (0);
}

Pruebe la multiplicación con el siguietne ejemplo:
http://www.recursosdelweb.com/como-hacer-una-multiplicacion-de-matrices-en-c-cpp/
 

 
 
  Hoy habia 5 visitantes (7 clics a subpáginas) ¡Aqui en esta página!  
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis