Guia Lab 12
Guia Lab 12
Guia Lab 12
CURSO:
ALGORITMOS Y PROGRAMACIÓN
GUÍA DE LABORATORIO 12
ARREGLOS BIDIMENSIONALES
PARTE 1:
Ejercicio 1:
PROGRAMACION I (CC47)
Ciclo 2019-01
Primera hoja de ejercicios de arreglos bidimensionales
Secciones: Todas
Ejercicio 1
Tema: Arreglos bidimensionales y funciones
Dificultad:
Sea M una matriz de enteros de “n” filas por “m” columnas, ambas positivas y menores
que 10. Realice un programa en C++ que permita:
a) Solicitar el ingreso de n y m, según las restricciones indicadas.
b) Ingresar cada uno de los valores de la matriz.
c) Mostrar, para cada fila, la suma de sus valores, y el menor valor almacenado.
d) Mostrar, para cada columna, el promedio de sus valores y el mayor valor.
e) El mayor valor almacenado en toda la Matriz, indicando en que fila y columna se
encuentra.
PROGRAMACION I (CC47)
Ciclo 2019-01
Primera hoja de ejercicios de arreglos bidimensionales
Secciones: Todas
Ejercicio 1
Tema: Arreglos bidimensionales y funciones
Dificultad:
Sea M una matriz de enteros de “n” filas por “m” columnas, ambas positivas y menores
que 10. Realice un programa en C++ que permita:
a) Solicitar el ingreso de n y m, según las restricciones indicadas.
b) Ingresar cada uno de los valores de la matriz.
c) Mostrar, para cada fila, la suma de sus valores, y el menor valor almacenado.
d) Mostrar, para cada columna, el promedio de sus valores y el mayor valor.
e) El mayor valor almacenado en toda la Matriz, indicando en que fila y columna se
encuentra.
PROGRAMACION I (CC47)
Ciclo 2019-01
2
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
Secciones: Todas
Ejercicio 1
Tema: Arreglos bidimensionales y funciones
Dificultad:
Sea M una matriz de enteros de “n” filas por “m” columnas, ambas positivas y menores
que 10. Realice un programa en C++ que permita:
a) Solicitar el ingreso de n y m, según las restricciones indicadas.
b) Ingresar cada uno de los valores de la matriz.
c) Mostrar, para cada fila, la suma de sus valores, y el menor valor almacenado.
d) Mostrar, para cada columna, el promedio de sus valores y el mayor valor.
e) El mayor valor almacenado en toda la Matriz, indicando en que fila y columna se
encuentra.
PROGRAMACION I (CC47)
Ciclo 2019-01
Primera hoja de ejercicios de arreglos bidimensionales
Secciones: Todas
Ejercicio 1
Tema: Arreglos bidimensionales y funciones
Dificultad:
Sea M una matriz de enteros de “n” filas por “m” columnas, ambas positivas y menores
que 10. Realice un programa en C++ que permita:
a) Solicitar el ingreso de n y m, según las restricciones indicadas.
b) Ingresar cada uno de los valores de la matriz.
c) Mostrar, para cada fila, la suma de sus valores, y el menor valor almacenado.
d) Mostrar, para cada columna, el promedio de sus valores y el mayor valor.
e) El mayor valor almacenado en toda la Matriz, indicando en que fila y columna se
encuentra.
1
PROGRAMACION I (CC47)
Ciclo 2019-01
Primera hoja de ejercicios de arreglos bidimensionales
Secciones: Todas
Ejercicio 1
Tema: Arreglos bidimensionales y funciones
Dificultad:
3
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
Sea M una matriz de enteros de “n” filas por “m” columnas, ambas positivas y menores
que 10. Realice un programa en C++ que permita:
a) Solicitar el ingreso de n y m, según las restricciones indicadas.
b) Ingresar cada uno de los valores de la matriz.
c) Mostrar, para cada fila, la suma de sus valores, y el menor valor almacenado.
d) Mostrar, para cada columna, el promedio de sus valores y el mayor valor.
e) El mayor valor almacenado en toda la Matriz, indicando en que fila y columna se
encuentra.
Escribir un programa que lea una matriz de 3 filas y 3 columnas de valores enteros y realice:
a) Muestre para cada fila la suma de sus valores.
b) El mayor valor almacenado en toda la matriz, indicando en que fila y columna se encuentra
1
#include <iostream>
#include <conio.h>
PROGRAMACION
using namespace std; I (CC47)
Ciclo 2019-01
intPrimera hoja de ejercicios de arreglos bidimensionales
main(void){
Secciones: Todas
int matriz[3][3], i,j,suma,may,a,b;
cout<<"Matriz 3 x 3."<<endl<<endl;
for(i=0;i<3;i++){
Ejercicio 1 for(j=0;j<3;j++){
Tema: Arreglos bidimensionales
cout<<"Valor y funciones
de la fila "<<i+1<<" columna "<<j+1<<": ";cin>>matriz[i][j];
Dificultad: }
}system("cls");
Sea Mcout<<"La
una matrizmatriz ingresada
de enteros de “n”es"<<endl;
filas por “m” columnas, ambas positivas y menores
for(i=0;i<3;i++){
que 10. Realice un programa en C++ que permita:
a) Solicitar elcout<<endl;
ingreso de n y m, según las restricciones indicadas.
for(j=0;j<3;j++){
b) Ingresar cada uno de los valores de la matriz.
c) Mostrar, para cadacout<<" "<<matriz[i][j];
fila, la suma de sus valores, y el menor valor almacenado.
} cada columna, el promedio de sus valores y el mayor valor.
d) Mostrar, para
e) El }mayor valor almacenado en toda la Matriz, indicando en que fila y columna se
for(i=0;i<3;i++){
encuentra.
suma=0;
cout<<endl<<endl;
Sea M una matriz de enteros de “n” filas por “m” columnas, ambas positivas y menores
for(j=0;j<3;j++){
que 10. Realice un programa en C++ que permita:
suma+=matriz[i][j];
a) Solicitar el ingreso de n y m, según las restricciones indicadas.
}cout<<"La
b) Ingresar cada uno de lossuma de ladefila
valores la "<<i+1<<"
matriz. es: "<<suma<<endl<<endl;
}
c) Mostrar, para cada fila, la suma de sus valores, y el menor valor almacenado.
may=matriz[0][0];
d) Mostrar, para cada columna, el promedio de sus valores y el mayor valor.
e) El for(i=0;i<3;i++){
mayor valor almacenado en toda la Matriz, indicando en que fila y columna se
encuentra for(j=0;j<3;j++){
Sea M una matriz deif(may<matriz[i][j]){
enteros de “n” filas por “m” columnas, ambas positivas y menores
que 10. Realice un programamay=matriz[i][j];
en C++ que permita:
a) Solicitar el ingreso de n ya=i;b=j;
m, según las restricciones indicadas.
b) Ingresar cada uno}de los valores de la matriz.
} cada fila, la suma de sus valores, y el menor valor almacenado.
c) Mostrar, para
}cout<<"El mayor
d) Mostrar, para cada valor almacenado
columna, el promedioesde "<<may<<"
sus valoresyyesta ubicado
el mayor en la fila "<<a+1<<" columna
valor.
"<<b+1<<".";
e) El mayor valor almacenado en toda la Matriz, indicando en que fila y columna se
getch();
encuentra
}
4
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
5
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
Ejercicio 2:
Escribir un programa que lea un matriz de enteros de 2 filas y 4 columnas y muestre por pantalla la traspuesta a
dicha matriz.
Ejemplo:
Entrada:
2 3 4 5 Salida 2 7
7 6 5 4 3 6
4 5
5 4
#include<iostream>
#include<conio.h>
int main(void){
int i,j,matriz[2][4];
int matriztrans[4][2];
for(i=0;i<2;i++){
for(j=0;j<4;j++){
cout<<"Valor de la fila "<<i+1<<" columna "<<j+1<<": ";cin>>matriz[i][j];
}
}system("cls");
cout<<"La matriz ingresada es"<<endl;
for(i=0;i<2;i++){
cout<<endl;
for(j=0;j<4;j++){
cout<<" "<<matriz[i][j];
}
}
for(i=0;i<2;i++){
cout<<endl;
for(j=0;j<4;j++){
matriztrans[j][i]=matriz[i][j];
}
}
cout<<endl<<endl<<"Su trapuesta es: "<<endl<<endl;
for(i=0;i<4;i++){
cout<<endl;
for(j=0;j<2;j++){
cout<<" "<<matriztrans[i][j];
}
}
getch();
}
6
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
Ejercicio 3:
Un supermercado tiene 4 sucursales y cuenta con la información acerca de las ventas mensuales logradas en el
primer semestre del año 2020. A partir de esta información la empresa construyó la siguiente matriz de ventas
(en miles de soles):
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
int i,j,suma,may,men1,men2;
int Tsucursal[4]={0};
int Tmes[6]={0};
int ventas[6][4]={
{239,759,864,644},
{189,846,648,843},
{234,989,644,976},
{346,646,354,737},
{898,974,984,684},
{768,535,757,546}
};
for(j=0;j<4;j++){
suma=0;
for(i=0;i<6;i++){
suma+=ventas[i][j];
}Tsucursal[j]=suma;
}
for(i=0;i<6;i++){
suma=0;
for(j=0;j<4;j++){
suma+=ventas[i][j];
}Tmes[i]=suma;
}
may=Tsucursal[0];
for(i=0;i<4;i++){
if(may<Tsucursal[i]){
7
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
may=Tsucursal[i];
}
}
men1=Tsucursal[0];
for(i=0;i<4;i++){
if(men1>Tsucursal[i]){
men1=Tsucursal[i];
}
}
men2=Tmes[0];
for(i=0;i<6;i++){
if(men2>Tmes[i]){
men2=Tmes[i];
}
}
cout<<" \t ------------------------------------------------------"<<endl;
cout<<" \t|Sucursar A |Sucursal B |Sucursar C |Sucursal D |TotalM|"<<endl;
cout<<" --------------------------------------------------------------"<<endl;
cout<<"|Enero | 239 | 759 | 864 | 644 | "<<Tmes[0]<<" |"<<endl;
cout<<" --------------------------------------------------------------"<<endl;
cout<<"|Febrero| 189 | 846 | 648 | 843 | "<<Tmes[1]<<" |"<<endl;
cout<<" --------------------------------------------------------------"<<endl;
cout<<"|Marzo | 234 | 989 | 644 | 976 | "<<Tmes[2]<<" |"<<endl;
cout<<" --------------------------------------------------------------"<<endl;
cout<<"|Abril | 346 | 646 | 354 | 737 | "<<Tmes[3]<<" |"<<endl;
cout<<" --------------------------------------------------------------"<<endl;
cout<<"|Mayo | 898 | 974 | 984 | 684 | "<<Tmes[4]<<" |"<<endl;
cout<<" --------------------------------------------------------------"<<endl;
cout<<"|Junio | 768 | 535 | 757 | 546 | "<<Tmes[5]<<" |"<<endl;
cout<<" --------------------------------------------------------------"<<endl;
cout<<"|TotalS | "<<Tsucursal[0]<<" | "<<Tsucursal[1]<<" | "<<Tsucursal[2]<<" |
"<<Tsucursal[3]<<" |"<<endl;
cout<<" -------------------------------------------------------"<<endl<<endl;
cout<<"El promedio de ventas del mes de mayo es: "<<Tmes[4]/4<<endl;
if(Tsucursal[0]==may){
cout<<"La sucursal que vendio mas es la A."<<endl;
}else{
if(Tsucursal[1]==may){
cout<<"La sucursal que vendio mas es la
B."<<endl;
}else{
if(Tsucursal[2]==may){
cout<<"La sucursal que vendio mas
es la C"<<endl;
}else{
if(Tsucursal[3]==may){
cout<<"La sucursal que
vendio mas es la D"<<endl;
}
}
}
8
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
}
if(Tsucursal[0]==men1){
cout<<"La sucursal que vendio menos es la
A."<<endl;
}else{
if(Tsucursal[1]==men1){
cout<<"La sucursal que vendio menos es la
B."<<endl;
}else{
if(Tsucursal[2]==men1){
cout<<"La sucursal que vendio menos
es la C"<<endl;
}else{
if(Tsucursal[3]==men1){
cout<<"La sucursal que
vendio menos es la D"<<endl;
}
}
}
}
if(Tmes[0]==men2){
cout<<"El mes que se vendio menos es
Enero"<<endl;
}else{
if(Tmes[1]==men2){
cout<<"El mes que se vendio menos es
Febrero"<<endl;
}else{
if(Tmes[2]==men2){
cout<<"El mes que se vendio menos
es Marzo"<<endl;
}else{
if(Tmes[3]==men2){
cout<<"El mes que se vendio
menos es Abril"<<endl;
}else{
if(Tmes[4]==men2){
cout<<"El mes que se
vendio menos es Mayo"<<endl;
}else{
if(Tmes[5]==men2){
cout<<"El mes
que se vendio menos es Junio"<<endl;
}
}
}
}
}
}
getch();
}
9
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
Ejercicio 4:
A la clase de un curso asiste un grupo de N alumnos. El profesor de dicha asignatura aplica 3 exámenes.
Realice un programa en C++ que genere una tabla de N alumnos y sus 3 calificaciones y que calcule e imprima:
El promedio de calificaciones de cada alumno.
El promedio general del grupo.
El número del estudiante que tuvo el mayor promedio de calificación.
#include <iostream>
#include <conio.h>
#include <locale.h>
using namespace std;
int main(){
setlocale(LC_CTYPE, "Spanish");
int fila,i,j,a;
float promG=0,suma,may;
cout<<"Ingrese el número de alumnos: ";cin>>fila;
float notas[fila][3];
float notaAlum[fila];
for(i=0;i<fila;i++){
for(j=0;j<3;j++){
cout<<"Ingrese la nota del alumno número "<<i+1<<": ";cin>>notas[i][j];
}
}system("cls");
for(i=0;i<fila;i++){
cout<<endl;
for(j=0;j<3;j++){
cout<<" "<<notas[i][j];
}
}
for(i=0;i<fila;i++){
suma=0;
for(j=0;j<3;j++){
suma+=notas[i][j];
}notaAlum[i]=suma/3;
}
for(i=0;i<fila;i++){
promG+=notaAlum[i];
}
promG=promG/fila;cout<<"\n\n";
for(i=0;i<fila;i++){
cout<<"El promedio del "<<i+1<<"° alumno es: "<<notaAlum[i]<<endl;
}
cout<<"\nEl promedio general del grupo es: "<<promG<<endl;
may=notaAlum[0];
for(i=0;i<fila;i++){
if(may<notaAlum[i]){
may=notaAlum[i];
a=i;
}
}
cout<<"\nEl alumno que tuvo el mayor promedio es: "<<a+1;
getch(); 10
}
Algoritmos y Programación: ARREGLOS UNIDIMENSIONALES
11