Practica 11 PDF
Practica 11 PDF
Practica 11 PDF
FACULTAD DE INGENIERÍA
09 DE NOVIEMBRE DE 2018
1
1.- Objetivo
Reconocer la importancia y utilidad de los arreglos, en la elaboración de programas que
resuelvan problemas que requieran agrupar datos del mismo tipo, así como trabajar con
arreglos tanto unidimensionales como multidimensionales.
2
14. Leer una matriz de 20x20, para encontrar el elemento mayor y el menor, así como sus
posiciones, en caso de que alguno de los elementos (mayor y/o menor) esté varias veces en la
matriz, indíque esta situación al usuario mediante un mensaje.
15. El dueño de un restaurante entrevista a cinco clientes de su negocio y les pide que
califiquen de 1 a 10 los siguientes aspectos: (1 es pésimo y 10 es excelente o inmejorable)
*Atención de parte de los empleados, *Calidad de la comida, *Justicia del precio (el precio que
pagó le parece justo?) y * Ambiente (muebles cómodos?) Escriba un programa que pida las
calificaciones de los cinco clientes a cada uno de estos aspectos, y luego escriba el promedio
obtenido en Ambiente, diga cuál aspecto tuvo mayor puntuación y cuál tuvo menos puntos.
16. Sean A, B y C arreglos de orden 2x2 de tipo de datos entero, realice las siguientes
operaciones:
•C = A –B
• C = B- A
• C = 2A + 3B
17. El equipo Pumas de la UNAM realiza en la temporada regular 20 juegos, almacene en una
matriz de orden 20x2 los goles anotados de cada uno de los juegos. La columna 0 contiene la
cantidad de goles anotados por los Pumas y la columna 1 contiene los goles anotados por su
oponente en ese juego. Determine el promedio de goles anotados y recibidos durante toda la
campaña regular.
18. Leer los elementos de una matriz de NxN elementos y reemplazar todos los número
negativos por un 0 (cero) y los postivos por un 9 (nueve). No usar vectores ni matrices
auxiliares.
3
2. Cargar un arreglo de N números (2-10) y calcular la media de los que estén en posiciones
pares.
Entradas: tamaño del arreglo
Salidas: suma de los números que estén en posiciones impares
Restricciones: el tamaño del arreglo debe ser mayor o igual a 2 ó menor o igual a 10
4
3. Genere un vector de tamaño 10 con números reales leídos desde teclado. Calcule el
promedio e indique cuántos elementos del vector son mayores que el promedio y cuántos
menores o iguales.
5
6
7
€…
8
.
5. Se tiene un vector de números de tamaño 20. Almacene en otro vector cuántos de ellos son:
A) positivos B)negativos C) neutros D) pares Y E) impares. Muestre estos resultados por
pantalla.
9
No 8
10
6. Dado un arreglo N[100] lleno con números en un rango de 1 a 10, determine el mayor y el
menor. Luego del mayor calcule su sumatoria de 1 hasta el número mayor y del menor su
factorial.
Entradas: Un arreglo de N[100] con números en un rango de 1 a 10
Salidas: Número mayor, numero menor, sumatoria del 1 hasta el mayor y el factorial del menor.
Restricciones: los valores de los números encontrados dentro del arreglo deben estar en el
rango de 1 a 10.
11
7. Dado un arreglo A[100]. Realice un programa que calcule la suma, el producto y el promedio
de todos los números primos del arreglo.
12
13
8. Haga un programa que lea los arreglos M y N de 100 elementos cada uno. Hacer un
programa que escriba la palabra “Iguales” si ambos vectores son iguales o “Diferentes” si no lo
son. Serán iguales cuando en la mismaposición de ambos vectores se tenga el mismo valor
para todos los elementos.
14
9. Construya un algoritmo que lea dos palabras del español y determine si la primera es parte
de la segunda. Por ejemplo, juan es parte de Tijuana.
CANCELADO
10. Hacer un programa que almacene números en una matriz de 5 * 6. Imprimir la suma de los
números almacenados en la matriz.
Entradas: ninguna
Salidas: Una matriz de 5 x 6 con valores obtenidos de forma aleatorio y la suma de los valores
encontrados dentro de la matriz.
15
11. Elabore una aplicación que lea una matriz de 4x4 y la convierta en un arreglo
unidimensional. La conversión debe hacerse por columnas, es decir, almacenar la suma de la
primer columna a la primera posición del vector, a continuación la segunda suma de la columna
2 y así sucesivamente. Imprima ambos arreglos.
16
12. Elabore una aplicación que llene una matriz de un tamaño definido por el usuario. Luego
intercambie el contenido de la primera y la última columna, de la segunda y la penúltima y así
hasta completar cambios que den una matriz con columnas invertidas. Imprima ambas
matrices.
/*Entradas: Tamaño de la matriz, contenido de la matriz
17
Salidas: Intercambio de la primer columna con la ultima, la segunda con la penultima, etc...
Restricciones: Ninguna*/
#include <stdio.h>
#define p printf
#define s scanf
main()
{
int fi=0,col=0;
int i,j;
p("\n\n\t Ingresa las columnas de tu matriz");
s("%d",&col);
p("\n\n\t Ingresa las filas de tu matriz");
s("%d",&fi);
int matriz[fi][col], temporal[fi][col];
for (i=0;i<fi;i++)
for(j=0;j<col;j++)
{
p("\n\n\t Ingrese el valor [%d][%d]", i+1,j+1);
s("%d",&matriz[i][j]);
}
for (i=0;i<fi;i++)
{
for (j=0;j<col;j++)
{
temporal[i][col-(j+1)]=matriz[i][j];
}
}
for(i=0;i<fi;i++)
for(j=0;j<col;j++)
{
p("\t%3d",matriz[i][j]);
p("\t%3d",temporal[i][j]);
p("\n");
}
}
18
13. Hacer un programa que llene una matriz de 5 * 6 y que imprima cuantos de los números
almacenados son ceros, cuantos son positivos y cuantos son negativos.
19
20
14. Leer una matriz de 20x20, para encontrar el elemento mayor y el menor, así como sus
posiciones, en caso de que alguno de los elementos (mayor y/o menor) esté varias veces en la
matriz, indíque esta situación al usuario mediante un mensaje.
Entradas: matriz de 20x 20
Salidas: valor mayor y posición, valor menor y posición, indica si el elemento menor o mayor se
repite más de una vez.
Restricciones:ninguna.
21
22
23
15. El dueño de un restaurante entrevista a cinco clientes de su negocio y les pide que
califiquen de 1 a 10 los siguientes aspectos: (1 es pésimo y 10 es excelente o inmejorable)
*Atención de parte de los empleados, *Calidad de la comida, *Justicia del precio (el precio que
pagó le parece justo?) y * Ambiente (muebles cómodos?) Escriba un programa que pida las
calificaciones de los cinco clientes a cada uno de estos aspectos, y luego escriba el promedio
obtenido en Ambiente, diga cuál aspecto tuvo mayor puntuación y cuál tuvo menos puntos.
24
25
16. Sean A, B y C arreglos de orden 2x2 de tipo de datos entero, realice las siguientes
operaciones:
•C = A –B
• C = B- A
• C = 2A + 3B
//Entradas: los valores de 2 matrices 2x2 de numeros enteros
//Salidas: Operaciones con esas matrices para obtener el valor del tercer arreglo
//Restricciones: Solo numeros enteros
#include <stdio.h>
#include <stdlib.h>
#define s scanf
int main ()
{
int A[2][2], B[2][2], C[2][2]={0}, i, j;
printf("\n\n\t Hola, este programa te dara el valor de la matriz C, al introducir los valores
de la matriz A y B");
printf("\n\n\t Las operaciones que se realizaran son: C=A-B, C=B-A, C=2A+3B ");
printf("\n\n\t Introduce el arreglo A. ");
for (i=0; i<2;i++)
for (j=0; j<2; j++)
{
printf("\n\n\t Introduce el valor correspondiente a la posicion %d x %d: ",
i+1, j+1);
s("%d", &A[i][j]);
}
system("cls");
printf("\n\n\t Introduce el arreglo B.");
for (i=0; i<2;i++)
for (j=0; j<2; j++)
{
printf("\n\n\t Introduce el valor correspondiente a la posicion %d x %d: ",
i+1, j+1);
s("%d", &B[i][j]);
}
26
system("cls");
printf("\n\n\t A: \n");
for (i=0; i<2;i++)
{
for (j=0; j<2; j++)
printf("%3d", A[i][j]);
printf("\n");
}
printf("\n\n\t B: \n");
for (i=0; i<2;i++)
{
for (j=0; j<2; j++)
printf("%3d", B[i][j]);
printf("\n");
}
printf("\n\n\t Realizando la primer operacion (C=A-B) ");
for (i=0; i<2;i++)
for (j=0; j<2; j++)
C[i][j]=A[i][j]-B[i][j];
printf("\n\n\t La matriz resultante es: \n");
for (i=0; i<2;i++)
{
for (j=0; j<2; j++)
printf("%3d", C[i][j]);
printf("\n");
}
printf("\n\n\t Realizando la segunda operacion ( C=B-A)");
for (i=0; i<2;i++)
for (j=0; j<2; j++)
C[i][j]=B[i][j]-A[i][j];
printf("\n\n\t La matriz resultante es: \n");
for (i=0; i<2;i++)
{
for (j=0; j<2; j++)
printf("%3d", C[i][j]);
printf("\n");
}
printf("\n\n\t Realizando la tercer operacion ( C=2A+3B )");
for (i=0; i<2;i++)
for (j=0; j<2; j++)
C[i][j]=2*(A[i][j])+ 3*(B[i][j]);
printf("\n\n\t La matriz resultante es: \n");
for (i=0; i<2;i++)
27
{
for (j=0; j<2; j++)
printf("%3d", C[i][j]);
printf("\n");
}
}
17. El equipo Pumas de la UNAM realiza en la temporada regular 20 juegos, almacene en una
matriz de orden 20x2 los goles anotados de cada uno de los juegos. La columna 0 contiene la
cantidad de goles anotados por los Pumas y la columna 1 contiene los goles anotados por su
oponente en ese juego. Determine el promedio de goles anotados y recibidos durante toda la
campaña regular.
28
29
18. Leer los elementos de una matriz de NxN elementos y reemplazar todos los número
negativos por un 0 (cero) y los postivos por un 9 (nueve). No usar vectores ni matrices
auxiliares.
Entradas:Tamaño de la matriz.
Salidas: Martiz del tamaño pedido con numero aleatorios y matriz del tamaño pedido con un 1
en lugar de los negativos y un 9 en lugar de los positivos.
Restricciones: la matriz no puede ser de dimensiones negativas.
30
5.- Aprendizajes individuales
31
Con esta práctica me pude dar cuenta de que cada vez sube más el grado de dificultad de los
programas que debemos elaborar. Además de que la combinación de ciclos for con matrices
hace más corto el código pero más difícil el planteamiento del mismo.
32