Está en la página 1de 6

Algoritmo y Estructura de Datos

Ing. en Sistemas de Informacin


1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
Trabajo prctico N 5
(Resolucin de problemas Arreglos bidimensionales ).
Realiza el programa en Lenguaje C correspondiente.
1- Qu hay de incorrecto en los siguientes cdigos?
void main()
{
int x,y;
int mat[10][3];
for (x=0; x<3;x++)
for (y=0;y<10;y++)
mat[x][y]=0;
return;
}

void main()
{
double d [2] [10];
.
d[ 1, 9] = 2.345;
.
.
return;
}

2- Cargar en un arreglo de dos dimensiones de 4, 4 posiciones, nmeros pares comenzando


por el 12.
3- Hacer un procedimiento que genere la matriz unidad de dimensin N.
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
4- Realizar un procedimiento que:
a) Recorra una matriz y cuente los elementos pares que hay en ella, deber adems
cambiarlos por (-1).
b) Escribir otro procedimiento que a partir de la matriz anterior genere un vector cuyos
elementos indiquen cuantos (-1) hay en cada fila.
5- En memoria se encuentra almacenado un arreglo bidimensional de n, m posiciones cuyas
componentes guardan un nmero que indica la cantidad de lluvia promedio de cada zona
(n) de cada campo (m). Considerar que un campo (ej. el campo 1) est particionado para el
estudio en varias zonas (ej. zona 1, zona 2, etc.). Realizar funciones que me permitan
determinar:
- El promedio de lluvias por zona.
- El promedio de lluvias en cada campo, en todas las zonas del mismo.
- El campo y la zona que ms lluvias contabiliz.
- El promedio de todas las mediciones que estn almacenadas en el arreglo.
- Mostrar las componentes de todo el arreglo.

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
6- Teniendo el arreglo del ejercicio 5, se pide armar y mostrar un arreglo de una dimensin
que almacene la cantidad de lluvias mayores de cada campo.
7- En un arreglo bidimensional que almacena la cantidad de computadoras vendidas por
tres vendedores en cuatro zonas diferentes. Se pide mostrar:
- La zona que ms computadoras vendi.
- El vendedor que menos computadoras vendi.
- La cantidad de computadoras vendidas por todos los vendedores en todas las zonas.
8- Escriba un programa que ponga nmeros aleatorios menores a 100, en un vector de dos
dimensiones de 5 por 4. Imprima los valores en pantalla por columnas. Se pide:
calcular promedio de todos los nmeros.
obtener el valor medio.
mostrar el valor maximo y minimo
intercambiar los valores de la diagonal principal por los valores de la ltima fila.
mostrar matriz modificada.
9- Modifique el programa del apartado anterior para generar una funcin en donde se
trasladen los nmeros mayores a 50 de la matriz a un vector unidimensional. Ordene la
matriz resultante de mayor a menor y mostrar. Muestre el promedio de todos los nmeros
del vector y los valores del vector.
Nota: no se olvide de detenerse brevemente y borrar la pantalla cada 6 elementos que
muestre por pantalla.
10- Se deben ingresar n x n, nmeros que representan las notas obtenidas en los parciales
de Anlisis Matemtico I. Se pide intercambiar los elementos de la triangular superior,
con los elementos de la triangular inferior.
NOTA: Los elementos que estn en la triangular superior son aquellos donde el nmero que
indica la fila es menor al de la columna.
Los elementos de la triangular inferior son los que el nmero que indica la fila es mayor al
de la columna. Mostrar los elementos del arreglo luego del intercambio.
11- Escribir un programa que contenga un men de opciones para:
a) sumar dos matrices. (validar las dimensiones)
b) Multiplicar una matriz por un escalar.
12- Escriba un procedimiento que genere una matriz cuadrada de dimensin N que tenga la
siguiente forma:
1
2
0
0
N=4
3
1
2
0
0
3
1
2
0
0
3
1
13- Dada una matriz de M x N de elementos de tipo entero:
2

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
a) Escribir un procedimiento que busque la posicin en la matriz del menor elemento
si el elemento esta repetido debe devolver la primera posicin que fue encontrado.
b) Escribir un subprograma que genere un vector en el que cada elemento es T (true) o
F (false) indicando si el menor elemento hallado en el insiso anterior esta o no en la
fila.
1
5
7
1
T
2
3
4
6
F
7
9
4
2
F
8
1
10
15
T

14- Una matriz con m filas y n columnas tiene (mxn) elementos, y en C se almacena en la
memoria por filas. Se pide realizar un programa que haga lo siguiente: 1) leer m, n y los
elementos de una matriz (mxn). 2) Leer unos valores p y q, y con los mismos elementos de
la matriz (mxn) leda previamente, crear otra matriz de p filas y q columnas, que tenga el
mismo nmero de elementos que la anterior (comprobar que pxq = mxn, y si no se cumple
volver a leer p y q), de modo que los elementos estn almacenados en la memoria en el
mismo orden, o dicho de otra forma, que el orden por filas se mantenga
15- Dada una matriz de m x n de elementos enteros, escribir una funcin que permita
generar otra matriz de igual dimensin que contenga un 1 en las posiciones de los
elementos que en la matriz original cumplan con la siguiente condicin:
(A[i,j]+suma de los elementos de la columna j +suma de los elementos de la fila 1)/5 >6
En caso de no cumplirse la condicin debe quedar un 0 en esa posicin.
Ejemplo:
5
2
7
12
1
6
suma de la fila 1=14
2
3
0
A[0,0]=5+19+14/5=7.6 A[1,0]=12+19+14/5=9
A[2,0]=2+19+14/5=7
A[0,1]=2+6+14/5=4.4
A[1,1]=1+6+14/5=4.2
A[2,1]=3+6+14/5=4.6
A[0,2]=7+13+14/5=6.8 A[1,2]=6+13+14/5=6.6
A[2,2]=0+13+14/5=5.4
La matriz resultante ser:
1
0
1
1
0
1
1
0
0
16- Escribir un programa que cargue una matriz de 3 x n de elementos enteros y un vector
de n elementos enteros. Genere una matriz de 3 x m ( siendo m calculada) con los nmeros
enteros que no se encuentran en el vector. El programa debe imprimir las estructuras.
17- Dada una matriz de M x N, escribir un funcin para que dado un elemento, busque su
primera aparicin en la matriz y a partir de esta verifique si el elemento cumple con estas
dos condiciones:
3

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
a) Se repite una cantidad par de veces en su fila
b) no esta repetido en su columna
El procedimiento debe devolver una variable booleana indicando si la matriz cumpli o no
con las condiciones.
Ejemplo:
8
4
5
ELEMENTO = 1
1
2
1
ESTA EN FILA 2
5
6
2
COLUMNA 1
**
EL ELEMENTO CUMPLE CON LA CONDICIN YA QUE ESTA UNA CANTIDAD
PAR DE VECES EN SU FILA Y NO ESTA REPETIDO EN SU COLUMNA.
18- Una empresa tiene cuatro vendedores (1 a 4) los cuales vende cinco productos (1 a 5).
Una vez al da, cada vendedor introduce un registro para cada tipo de producto vendido.
Cada registro contiene lo siguiente:
a) nmero de vendedor
b) El nmero de producto
c) El monto total del producto vendido del da.
Por lo tanto, cada vendedor pasa entre 0 y 5 registros por da. Suponga que estn
disponibles los registros del ltimo mes. Escribir un programa que lea toda esta
informacin de las ventas del ltimo mes y sume el total de ventas por vendedor y por
producto. Todos los totales se deben almacenar en un arreglo con dos subndices, ventas.
Una vez procesada toda la informacin del ltimo mes, despliegue los resultados en
formato tabular en donde cada una de las columnas representa a un vendedor y cada una de
las filas representa un producto en particular. Obtenga la suma de cada fila para el total de
ventas de cada producto del ltimo mes; obtenga la suma de cada columna para el total de
ventas por vendedor del ltimo mes. Su salida tabular debe incluir estos totales a la derecha
para las filas y en el fondo para las columnas.
Ejercicios Propuestos
1- Escribir un programa que inicialice cada elemento de una matriz de enteros con el valor
de la suma del nmero de fila y columna en que est situado.
2- Hacer un algoritmo que llene una matriz de 7 * 7. Calcular la suma de cada rengln y
almacenarla en un vector, la suma de cada columna y almacenarla en otro vector.
3- Considerando el arreglo del ejercicio 2- se pide mostrar las componentes que se
encuentran almacenadas en la diagonal principal. (Las componentes que estn en la
diagonal principal son aquellas que se encuentran en las posiciones donde el nmero de fila
es igual al nmero de columna).

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
4- Hacer un algoritmo que llene una matriz de 20 * 20. Sumar las columnas e imprimir que
columna tuvo la mxima suma y la suma de esa columna.
5- Hacer un algoritmo que llene una matriz de 5 * 5 y que almacene la diagonal principal
en un vector. Imprimir el vector resultante.
5- Hacer un algoritmo que cargue una matriz de 5 * 6 e imprima cuantos de los nmeros
almacenados son ceros, cuantos son positivos y cuantos son negativos.
6- Disee un programa que escriba el numero de la hilera cuya suma sea mayor que las
dems hileras. Suponga que todas las hileras suman diferente cantidad.
7- El dueo de una cadena de tiendas de artculos deportivos desea controlar sus ventas por
medio de una computadora . Los datos de entrada son :
a) El numero de la tienda (1 a 10)
b) Un numero que indica el deporte del articulo (1 a 20)
c) El costo del articulo.
Hacer un programa que escriba al final del da lo siguiente
1. Las ventas totales en el da para cada tienda
2.Las ventas totales para cada uno de los deportes.
3. Las mayor venta de todas las tienda y a que deporte pertenece.
8- Disear un algoritmo que:
* Genere una matriz (A x B) de nmeros enteros que se ingresan por teclado.
* Arme un vector que contenga el menor elemento de cada fila.
* Arme otro vector que contenga el menor elemento de cada columna.
* Ordene ambos vectores descendentemente.
* Genere un tercer vector por mezcla descendente de los dos vectores anteriores.
9- Disee un algoritmo que llene una matriz de 10 * 10 y determine:
El numero mayor almacenado en la matriz
El numero mayor almacenado en cada rengln
La columna que tuvo la mxima suma
El rengln que tuvo la mxima suma
Disea una funcin para cada inciso.
10- Sea una matriz de M x N
a) Calcular el promedio de cada fila e imprimirlo.
b) Mostrar el promedio mas alto.
11- Escribir un programa que calcule los puntos de silla de una matriz de enteros. Un
elemento de una matriz es un punto de silla si es el mnimo de su fila y el mximo de su
columna.
5

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
12- Realizar un el programa en C para calcular la moda de un arreglo de 3,3 posiciones de
nmeros enteros, la moda es el elemento de dicho arreglo que aparece ms veces en el
mismo, si distintos nmeros son repetidos con la misma frecuencia no hay moda, se debe
imprimir la moda si es que existe y la cantidad de veces que se encuentra en el vector, de no
existir moda se debe imprimir un cartel adecuado.
13- GENERAR MATRICES
Disear un programa que pida la dimensin n de una matriz cuadrada n*n, y
luego d a elegir entre las siguientes opciones:
- Generar una matriz en espiral:
1 2 3 4 5 6 7 8 9
32 33 34 35 36 37 38 39 10
31 56 57 58 59 60 61 40 11
30 55 72 73 74 75 62 41 12
29 54 71 80 81 76 63 42 13
28 53 70 79 78 77 64 43 14
27 52 69 68 67 66 65 44 15
26 51 50 49 48 47 46 45 16
25 24 23 22 21 20 19 18 17
-Generar una matriz en ngulo recto:
1 2 3 4 5 6 7 8 9
2 2 3 4 5 6 7 8 9
3 3 3 4 5 6 7 8 9
4 4 4 4 5 6 7 8 9
5 5 5 5 5 6 7 8 9
6 6 6 6 6 6 7 8 9
7 7 7 7 7 7 7 8 9
8 8 8 8 8 8 8 8 9
9 9 9 9 9 9 9 9 9

-Generar una matriz en diagonal:


1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 8
3 4 5 6 7 8 9 8 7
4 5 6 7 8 9 8 7 6
5 6 7 8 9 8 7 6 5
6 7 8 9 8 7 6 5 4
7 8 9 8 7 6 5 4 3
8 9 8 7 6 5 4 3 2
9 8 7 6 5 4 3 2 1
-Generar una matriz en antidiagonal:
1 2 3 4 5 6 7 8 9
2 1 2 3 4 5 6 7 8
3 2 1 2 3 4 5 6 7
4 3 2 1 2 3 4 5 6
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4
7 6 5 4 3 2 1 2 3
8 7 6 5 4 3 2 1 2
9 8 7 6 5 4 3 2 1

También podría gustarte