Nothing Special   »   [go: up one dir, main page]

Arreglos Bidimensionales Problemas Resueltos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Arreglos bidimensionales

Uso de arreglos en paralelo y arreglos bidimensionales

Problemas resueltos

Problema 01
Desarrollar un programa en C++ que permita ingresar y almacenar el código, el nombre, la
nota1, la nota2 y la nota3 de todos los estudiantes de un salón de clase. Mostrar el promedio de
cada estudiante y la cantidad de estudiantes desaprobados. Finalmente, ordene los datos en
base al nombre de los estudiantes (utilice compare()). Muestre los datos ordenados.

#include <iostream>
#include <math.h>
using namespace std;

int main() {

int total;

cout << "Ingrese el total de estudiantes: ";


cin >> total;

long codigos[total];
string nombres[total];
double notas [total][3];

// Ingresar y almacenar los datos

for (int i=0 ; i<total ; i++) {


cout << "\nIngrese el codigo del estudiante [" << (i+1) << "]: ";
cin >> codigos[i];
cout << "Ingrese el nombre: ";
cin >> nombres[i];
cout << "Ingrese la nota1: ";
cin >> notas[i][0];
cout << "Ingrese la nota2: ";
cin >> notas[i][1];
cout << "Ingrese la nota3: ";
cin >> notas[i][2];
}

// Mostrar datos
cout << "\n\nDatos de los estudiantes: \n";
cout << "Codigo - Nombre - Nota1 - Nota2 - Nota3\n";
cout << "----------------------------\n";
for ( int i=0 ; i<total ; i++ ) {
cout << codigos[i] << " - " << nombres[i] << " - "
<< notas[i][0] << " - " << notas[i][1] << " - " <<notas[i][2] << "\n";

}
cout << "----------------------------\n";
cout << "Total: " << total;

// Mostrando promedio de cada estudiante


double prom;
int conta=0;
cout << "\n\nPromedio de cada estudiante:\n";
cout << "Codigo - Nombre - Promedio\n";
cout << "----------------------------\n";
for ( int i=0 ; i<total ; i++ ) {
prom = (notas[i][0] + notas[i][1] + notas[i][2]) / 3 ;
prom = round(prom);
cout << codigos[i] << " - " << nombres[i] << " - " << prom << "\n";

if (prom < 11) {


conta++;
}

}
cout << "----------------------------\n";
cout << "\nTotal de estudiantes desaprobados: " << conta;

// Ordenando datos
long codigo;
string nombre;
double nota1, nota2, nota3;

for ( int i=0 ; i<total-1 ; i++) {


for ( int j=i+1 ; j< total ; j++) {
if ( nombres[i].compare(nombres[j]) > 0 ) {
codigo = codigos[j];
codigos[j] = codigos [i];
codigos[i] = codigo;

nombre = nombres[j];
nombres[j] = nombres [i];
nombres[i] = nombre;

nota1 = notas[j][0];
notas[j][0] = notas[i][0];
notas[i][0] = nota1;

nota2 = notas[j][1];
notas[j][1] = notas[i][1];
notas[i][1] = nota2;

nota3 = notas[j][2];
notas[j][2] = notas[i][2];
notas[i][2] = nota3;
}
}
}
// Mostrar datos
cout << "\n\nDatos de los estudiantes: \n";
cout << "Codigo - Nombre - Nota1 - Nota2 - Nota3\n";
cout << "----------------------------\n";
for ( int i=0 ; i<total ; i++ ) {
cout << codigos[i] << " - " << nombres[i] << " - "
<< notas[i][0] << " - " << notas[i][1] << " - " <<notas[i][2] << "\n";

}
cout << "----------------------------\n";
cout << "Total: " << total;

Problema 02
Desarrollar un programa en C++ que permita ingresar y almacenar el código, el nombre, la talla, el peso y
el sueldo de todos los empleados de un club. Utilices arreglos (dos vectores y una matriz para almacenar
la talla, el peso y el sueldo). Mostrar los datos almacenados indicando el total de trabajadores y el total de
trabajadores que tienen un sueldo mayor a S/ 1000.00. Finalmente, ordene los datos por código de mayor
a menor.

#include <iostream>
#include <conio.h>
using namespace std;

main() {
int total;

cout << "Ingrese el total de trabajadores: ";


cin >> total;

long codigos[total];
string nombres[total];
double datos[total][3];

// Ingreso y almacenamiento de datos en los arreglos


for (int i=0 ; i<total ; i++) {
cout << "\nIngrese el codigo del trabajador " << (i+1) << ": ";
cin >> codigos[i];
cout << "Ingrese el nombre: ";
cin >> nombres[i];
cout << "Ingrese talla: ";
cin >> datos[i][0];
cout << "Ingrese peso: ";
cin >> datos[i][1];
cout << "Sueldo: ";
cin >> datos[i][2];
}
/* // Mostrando datos almacenados
int conta=0;
cout << "\n\nDatos de los empleados del club";
cout << "\nCodigo - Nombre - Talla - Peso - Sueldo\n";
cout << "\n--------------\n";
for (int i=0 ; i<total; i++) {
cout << codigos[i] << " - " << nombres[i] << " - "
<< datos[i][0] << " - " << datos[i][1] << " - "
<< datos[i][2] << ".\n";

if (datos[i][2] > 1000) {


conta++;
}
}
cout << "\n--------------";
cout << "\nTotal de trabajadores: " << total;
cout << "\nTotal de trabajadorescon sueldo mayor a S/ 1000: " << conta;
*/

// Ordenando datos por codigo de mayor a menor


int i, j;
long codi;
string nomb;
double tall, peso, suel;
for (i=0 ; i<total-1 ; i++) {
for (j=i+1 ; j<total ; j++) {
if (codigos[i] < codigos[j] ) {

codi = codigos[j];
codigos[j] = codigos[i];
codigos[i] = codi;

nomb = nombres[j];
nombres[j] = nombres[i];
nombres[i] = nomb;

tall = datos[j][0];
datos[j][0] = datos[i][0];
datos[i][0] = tall;

peso = datos[j][1];
datos[j][1] = datos[i][1];
datos[i][1] = peso;

suel = datos[j][2];
datos[j][2] = datos[i][2];
datos[i][2] = suel;

}
}
}
// Mostrando datos almacenados
int conta=0;
cout << "\n\nDatos de los empleados del club";
cout << "\nCodigo - Nombre - Talla - Peso - Sueldo\n";
cout << "\n--------------\n";
for (int i=0 ; i<total; i++) {
cout << codigos[i] << " - " << nombres[i] << " - "
<< datos[i][0] << " - " << datos[i][1] << " - "
<< datos[i][2] << ".\n";

if (datos[i][2] > 1000) {


conta++;
}
}
cout << "\n--------------";
cout << "\nTotal de trabajadores: " << total;
cout << "\nTotal de trabajadorescon sueldo mayor a S/ 1000: " << conta;

getch();

Problema 03
Desarrollar un programa en C++ que permita ingresar y almacenar el código, el nombre, el precio
de compra, el precio de venta y el stock de todos los artículos de una bodega. Utilice vectores y
matrices. También, desarrolle lo siguiente:
- Almacenar el nombre con la primera letra en mayúscula y el resto en minúscula
- El código debe tener 4 dígitos
- Calcular y mostrar la utilidad por producto
- Calcular y mostrar la ganancia total en caso se vendiera todo.

#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;

main () {
int total;

cout << "Ingrese el total de articulos: ";


cin >> total;

long codigos[total];
string nombres[total];
double precios[total][2];
int stock [total];

// Ingresar y almacenar los datos


string nombre;
char letra;
for (int i=0 ; i<total ; i++){
do {
cout << "\nIngrese el codigo del articulo [" << (i+1) <<"]: ";
cin >> codigos[i];
if (codigos[i]<1000 || codigos[i]>9999) {
cout << "Codigo debe ser de 4 digitos..., vuelva a intentarlo!\n\n";
}
} while(codigos[i]<1000 || codigos[i]>9999);

nombre="";
cout << "Ingrese el nombre: ";
cin >> nombres[i];

for (int j=0 ; j<nombres[i].length() ; j++) {


letra = nombres[i].at(j);
if (j==0) {
letra = toupper(letra);
} else {
letra = tolower(letra);
}
nombre = nombre + letra;
}
nombres[i] = nombre;

cout << "Ingrese precio de compra: ";


cin >> precios[i][0];
cout << "Ingrese precio de venta: ";
cin >> precios[i][1];
cout << "Ingrese el stock: ";
cin >> stock[i];
}

// Mostrar datos almacenados


double utilidad, gananciaArticulo=0, gananciaTotal=0;
cout << "\n\nDatos de los articulos: ";
cout << "\nCodigo - Nombre - PrecioCompra - PrecioVenta - Utilidad -Stock";
cout << "\n----------------------------------------------------\n";
for (int i=0 ; i<total ; i++){
utilidad = precios[i][1] - precios[i][0];
//utilidad = round(utilidad);

cout << codigos[i] << " - " << nombres[i] << " - " << precios[i][0]
<< " - " << precios[i][1] << " - " << utilidad << " -" << stock[i] << "\n";

gananciaArticulo = utilidad * stock[i];


gananciaTotal = gananciaTotal + gananciaArticulo;
}
cout << "\n----------------------------------------------------\n";
cout << "\nTotal de articulos: " << total;
cout << "\nGanancia en caso se vendiera todo: " << gananciaTotal;

getch();
}

También podría gustarte