Está en la página 1de 2

PRÁCTICAS

EN LENGUAJE C

MATRICES

INFORMÁTICA I

(1º DE GRADO EN MATEMÁTICAS)

Departamento de Informática y Automática


Universidad de Salamanca
1. Escriba un programa que lea las dimensiones de una matriz bidimensional, lea los
elementos de la matriz por filas y escriba en pantalla la matriz traspuesta. Realizar el
programa mediante funciones para las distintas tareas.

2. Escriba un programa que lea la dimensión de una matriz cuadrada, lea los elementos
de la matriz por filas y determine si la matriz es o no simétrica utilizando para ello
funciones.

3. Escriba un programa que lea por teclado los elementos de una matriz de enteros de
dimensión NxM (siendo 1<=N, M<=10), y cree un vector con N elementos cada
uno de los cuales será la media de los elementos de la fila correspondiente de la
matriz.

4. Escribir un programa que lea por teclado los elementos de dos matrices de las
características de la del problema anterior y presente en pantalla el resultado de
multiplicarlas o un mensaje de aviso si las matrices no se pueden multiplicar.

5. Escribir un programa que simule la evolución de una población en el tiempo (juego


de la vida). Se supone un espacio bidimensional en el que cada punto puede estar
habitado por un individuo (se representará por un asterisco) o deshabitado (se
representará por un punto). Una generación se dibuja como una tabla de puntos y
asteriscos. Se crea una generación a partir de la anterior aplicando las siguientes
reglas (modificadas respecto al enunciado original del creador del juego):
 Un individuo muere por asfixia si está rodeado de más de 5 individuos
 Un individuo muere por soledad si está rodeado de menos de 3 individuos
 En un punto deshabitado nace un nuevo individuo si está rodeado de más de
4 individuos en la generación anterior.
El programa presentará un menú que permita crear una población inicial aleatoria o
presentar las sucesivas generaciones que se vayan obteniendo.
Se puede hacer el programa para unas dimensiones determinadas o permitir que el
usuario las fije al principio de la ejecución.

Ejemplo de evolución: **..*. ......


....** .*.***
*****. .****.
*.*..* .**...
1ª generación 2ª generación

También podría gustarte