top of page

Matrices

Concepto

Las matrices se declaran de forma análoga, con corchetes independientes para cada subíndice. La forma general de la declaración es:

tipo nombre[numero_filas][numero_columnas];

 

donde tanto las filas como las columnas se numeran también a partir de 0. La forma de acceder a los elementos de la matriz es utilizando su nombre, seguido de las expresiones enteras correspondientes a los dos subíndices, entre corchetes. En C tanto los vectores como las matrices admiten los tipos de las variables escalares (char, int, long, float, double, etc.), Las matrices en C se almacenan por filas, en posiciones consecutivas de memoria. En cierta forma, una matriz se puede ver como un vector de vectores-fila. Si una matriz tiene N filas (numeradas de 0 a N-1) y M columnas (numeradas de 0 a la M-1), el elemento (i, j) ocupa el lugar: posición_elemento(0, 0) + i * M + j A esta fórmula se le llama fórmula de direccionamiento de la matriz.

Una matriz es una estructura de datos interna que almacena un conjunto de datos del mismo tipo bajo un nombre de variable común. La posición de un elemento dentro de la matriz viene identificada por uno o varios índices, de tal modo que a cada elemento se accede mediante el nombre de la matriz y sus índices.

La dimensión de una matriz es el número de índices necesario para identificar un elemento.

 

Ejemplo:

  • DISEÑAR UNA MATRIZ DE 3*3

#include <stdio.h>
#include <conio.h>
main()
{
int F=3;
int C=3;
int matriz[3][3], i,j, vector [3]={0,0,0};
for(i=0; i<F; i++)
for(j=0; j<C; j++)
{
printf("Ingrese el elemento", i,j);
scanf("%d", &matriz[i][j]);
vector[i]=vector[i]+matriz[i][j];
}
printf("La Matriz generada es:\n\n");
for(i=0; i<F; i++)
{
for(j=0; j<C; j++)
{
printf("*%d*", matriz[i][j]);
}
printf("\n");
}
getch();
return 0;
}

 

  • Escriba un programa que visualice un cuadro mágico de orden impar N, comprendido entre 3 y 11; el usuario debe elegir el valor de N. Un cuadro mágico se compone de números enteros entre 1 y N, la suma de los números que figuran en cada fila, columna y diagonal son iguales.

 

                                                               Ejemplo:

 

                                                       8              1                 6

                                                       3              5                 7

                                                       4              9                 2

 

Un método de generación consiste en situar en el centro de la primera fila, el número siguiente en la casilla situada por encima y a la derecha, y así sucesivamente ... el cuadro es cíclico, la línea encima de la primera, es de hecho, la última y la columna a la derecha de la ultima es la primera. En caso de que el número generado caiga en una casilla ocupada, se elige la casilla situada de bajo del número que acaba de ser situado.

Cuestionario

  1. Se tienen dos Matrices de tamaño 4x4, se pide escriba un programa en el cual,. Mediante un menú, se puedan sumar, multiplicar o dividir las matrices.

  2. Diseñe un  programa que lea un matriz de 6*6 y luego determine la suma de cada una de las filas y la almacene en un vector llamado suma.

  3. Escriba un programa que visualice un cuadro mágico de orden impar N, comprendido entre 3 y 11; el usuario debe elegir el valor de N. Un cuadro mágico se compone de números enteros entre 1 y N, la suma de los números que figuran en cada fila, columna y diagonal son iguales.

  4. Diseñe un programa que lea e imprima una matriz 2 x 2

  5. Diseñe un programa que imprima el total de los elementos de un matriz 3*3

  6. Programa calcule el 5% de cada uno de los elementos de una matriz 4*3

  7. Programa calcule el 45 % de cada uno de los elementos de una matriz 5*4

  8. Programa que calcula la suma de los elementos de una matriz solo donde la posicion sea par, y me diga cual de estos elementos es el mayor

  9. Programa que imprima si un numero es par o impar de una matriz 3 * 3Programa que halle la cantidad de # menores que 1000 y mayores que 1000 en una matriz 5*4

  10. Diseñe un programa que ingrese por teclado el numero de columnas y filas que se va ha realizar en la matriz

  11. Programa que nos dice los valores máximo y mínimo y sus posiciones dentro de una matriz.

  12. Diseñe un programa que calcule la suma de dos matrices.

  13. Diseñe un programa que eme permita generar n elementos de la serie del fibonacci,recorrer el vector y encontrar todos aquellos valores que sean múltiplos de 3, guardarlos enun nuevo vector y presentarlos en forma ascendente y descendente

  14. Diseñe un programa que permita ingresar una matriz cuadrática, imprima en una matrizy que se visualice solo la diagonal principal

  15. Diseñe un programia que me permita generar las diagonales principales y secundarias de una matriz de cualquier factor ingresado

  16. Diseñe un Programa que me permita generar múltiplos de cualquier color solo en lasdiagonales principal y secundaria las demás posiciones se llenen con las posiciones 0

  17. Se requiere un programa que realice la multiplicación de dos matrices, para tal efecto se deben ingresar las dos matrices por teclado teniendo el cuidado de controlar que la primera matriz tenga una dimensión de N*M y la segunda de M*N para que se pueda realizar la multiplicación.

  18. Los alumnos de primer semestre de la carrera de Licenciatura en Química de la Universidad Mayor de San Simon son 20. Todos los alumnos   toman inicialmente 5 materias lo que quiere decir que al final del semestre tendrán 5 notas cada alumno. Escribir un programa que pida las 5 notas de los 20 alumnos y luego devuelva el promedio de todas las notas.

  19. Diseñe un programa que permita crear una matriz de 5 x 5, donde en cada columna debe almacenarse los siguientes datos:                                                                                                                                           1 cedula
     2 nombre
     3 1er. Apellido
     4 2do. Apellido
     5 salario

  20. Que rellene una matriz de 3x3 y muestre su traspuesta (la traspuesta se consigue intercambiando filas por columnas y viceversa).

bottom of page