Professional Documents
Culture Documents
Metodologa de Trabajo:
Semana 1:
De la Parte I: Digitar, compilar, depurar y ejecutar 3 de los ejemplos y un
ejercicio
Semana 2:
De la Parte II, Ejercicios Propuestos, el instructor deber escoger 1 enunciado,
para que el estudiante ejercite el uso de Matrices.
PARTE I. Aplicacin de Matrices
1. Digitar el siguiente programa: e1g3.cpp
// Lee el tipo de boletos que compran en un estadio 5 aficionados
// Hay boletos de tres precios diferentes: General $3.50, Tribuna: $5.50 y Platea: $7.00
// Despliega cuntos boletos de cada tipo compra cada aficionado y el total a cancelar
// Guardarlo en USB como e21g2.cpp
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define fil 2
#define col 3
void Imprimir(int V[][col])
{
int fi, ci;
float Tp;
for(fi=0;fi<fil;fi++)
{
Tp=0;
printf("\n\n Las cantidades de cada tipo de boleto para el aficionado %i son: \n",fi+1);
for(ci=0;ci<col;ci++)
{
printf("\n\n\t La cantidad de boletos del tipo %i es :\t%i \n",ci+1,V[fi][ci]);
}
Tp=3.50*V[fi][0]+5.50*V[fi][1]+7.00*V[fi][2];
printf("\n\nEl total a pagar por el aficionado %i es de:$ %.2f \n\n\n\n",fi+1,Tp);
system("pause"); system("cls"); getch();
}
}
main()
{
int f, c;
float Tp;
int V[fil][col];
int cant[fil][col];
for(f=0;f<fil;f++)
{
printf("\n Digite la cantidad de boletos del aficionado \t%i: ",f+1);
for(c=0;c<col;c++)
{
printf("\n\t Digite la cantidad de boletos del tipo \t%i: ",c+1);
scanf("%i",&cant[f][c]);
while(cant[f][c]<0)
{
puts("\nError!!\n");
printf("\n\t Digite la cantidad de boletos del tipo \t %i: ",c+1);
scanf("%i",&cant[f][c]); }
}
}
system("cls");
Imprimir(cant) getch();
}
2. Digitar el siguiente programa: e2g3.cpp
//Permite capturar los datos de 5 alumnos. Los datos que se solicitarn sern su cdigo
//y 4 notas.
//Calcula el promedio de cada alumno y luego ordena los registros de los alumnos en
// base a su promedio de mayor a menor. Finalmente, muestra nombre, notas y
//promedio de los alumnos.
//Guardarlo en USB como e2g3.cpp
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
system("cls");
int i,j,Codigo[5],aux_codigo,b=1;
float notas[5][5],auxiliar,promedio;
char nombre[5][25],nombre_auxiliar[25];
for(i=0;i<5;i++)
{
printf("\n\nDigite notas del alumno %i: ",i+1);
Codigo[i]=i+1;
promedio=0;
for(j=0;j<4;j++)
{
printf("\nDigite la nota %i: ",j+1);
scanf("%f",¬as[i][j]);
while(notas[i][j]<0 || notas[i][j]>10)
{
printf("\nError!!!Digite la nota %i: ",j+1);
scanf("%f",¬as[i][j]);
}
promedio = promedio + notas[i][j];
}
system("cls");
notas[i][4]= promedio / 4;
//La ltima posicin de cada fila de la matriz notas sera el promedio del alumno
}
system("cls");
while(b!=0)
{
//Ordena a los alumnos en base al promedio ms alto
b=0;
for(i=0;i<4;i++)
{
if(notas[i][4] < notas[i+1][4])
{
//Debido a que se desea ordenar de mayor a menor, en la condicin se
//pregunta si el promedio del alumno actual (notas[i][4]) es menor que el
//promedio del siguiente alumno (notas[i+1][4]).
//De ser cierto, se intercambiarn de posicin y para ello se utilizar
//variable auxiliar
for(j=0;j<5;j++)
{
auxiliar=notas[i][j];
notas[i][j]=notas[i+1][j];
notas[i+1][j]=auxiliar;
//Con lo anterior, solo se ha cambiado la posicin de las notas
//tambin se debe cambiar la posicin del Codigo del alumno para
//que las notas sigan coincidiendo
aux_codigo=Codigo[i];
Codigo[i]=Codigo[i+1];
Codigo[i+1]=aux_codigo;
}
b++;
}
}
}
//Finalmente se mostrar el nombre de los alumnos con sus respectivas notas y
//promedio
system("cls");
printf(" ****** Notas de Alumnos Ordenados en Base a Promedio mas Alto******\n\n");
for(i=0;i<5;i++)
{
printf("\nAlumno %i:\n\n",Codigo[i]);
printf("Nota 1: %.2f", notas[i][0]);
printf(" Nota 2: %.2f", notas[i][1]);
printf(" Nota 3: %.2f", notas[i][2]);
printf(" Nota 4: %.2f", notas[i][3]);
printf(" Promedio: %.2f\n",notas[i][4]);
}
getch();
}
3.
int matriz[fil][col],i,j;
int mat[fil][col];
int buscar,c,bus;
system("cls");
for(i=0;i<fil;i++)
{
for(j=0;j<col;j++){
printf("\nMatriz[%i][%i] = ",i,j);
scanf("%i",&matriz[i][j]);
}
system("cls");
}
system("cls"); printf("\nDigite el numero a buscar: ");
scanf("%d",&buscar);
valorBuscado(matriz,buscar);
getch();
}
4 Digitar el siguiente programa: e4g3.cpp
//Lee una matriz de 4 x 3 y la muestra
//Si el valor almacenado es menor que 3, lo multiplica por 5
//Al final, se despliega la matriz final.
//Guardarlo en USB como e4g3.cpp
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define f 4
#define c 3
main()
{
int K[f][c];
int S[f][c];
int i,j;
puts(" LECTURA DE LA MATRIZ FILA POR FILA");
for(i=0;i<f;i++)
{
for(j=0;j<c;j++)
{
printf("\n Introduzca el dato:\t [%i][%i]\t\t",i+1,j+1);
scanf("%i",&K[i][j]);
}
system("cls");
puts(" LECTURA DE LA MATRIZ FILA POR FILA");
}
system("cls");
for(i=0;i<f;i++)
{
for(j=0;j<c;j++){
if(K[i][j]<3)
S[i][j]=5*K[i][j];
else
S[i][j]=K[i][j];
}
}
puts("\n MATRIZ ORIGINAL\n");
for(i=0;i<f;i++){
for(j=0;j<c;j++){
printf("%i\t",K[i][j]);
}
puts("\n");
}
puts("\n MATRIZ MODIFICADA\n");
for(i=0;i<f;i++)
{
for(j=0;j<c;j++)
{
printf("%i\t",S[i][j]);
}
puts("\n");
}
getch();
return 0;
}
1.
2.
Disee un programa que llene de ceros una matriz cuadrada de nxn, excepto la
diagonal principal donde debe asignar 1. Por ejemplo, si n=4 la matriz resultante,
que se debe de imprimir es:
1
3.
Dada una matriz de nxm elementos, disee un programa que permita calcular
cuntos elementos son mltiplos de 5.
4.
Dada una matriz cuadrada nxn, cuyos elementos enteros deben estar entre 10 y
60, disear un programa que determine si dicha matriz el simtrica.
Se considera que una matriz es simtrica, si a[i][j] == a[j][i]
5.
6.
7.
8.