Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tarea 1-Programación y Estructura de Datos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 18

CURSO DE INVESTIGACIÓN OPERATIVA

SEGUNDO AVANCE - PROYECTO FINAL

DOCENTE:

SOLIS VARGAS, EDGARD GUSTAVO

BLOQUE:
FC-PREISF04Z1M(H)

INTEGRANTES Y PARTICIPANTES:

● SUYON SANCHEZ, EDWARD JESUS


● WILLIAM HENRY TOVAR URQUIA
● MANUEL FELIPE ZEGARRA SOTIL
● AROM EDUARDO CAPILLO RAMOS
● ARIADNA PONCE FLORES
Ejercicio 1 :

#include <cstdlib>
#include <iostream>
using namespace std;

int main() {
// Declarando las variables
int s = 0, i;
int n[5]; // Declaración del arreglo

// Entrada de números
cout << "Ingrese Primer Numero: "; cin >> n[0];
cout << "Ingrese Segundo Numero: "; cin >> n[1];
cout << "Ingrese Tercer Numero: "; cin >> n[2];
cout << "Ingrese Cuarto Numero: "; cin >> n[3];
cout << "Ingrese Quinto Numero: "; cin >> n[4];

// Proceso
for (i = 0; i <= 4; i++) {
s += n[i];
}

// Salida
cout << "\n";
cout << "La Suma es: " << s << endl;

return 0;
}

ejercicio 2:

#include <cstdlib>
#include <iostream>
using namespace std;

int main() {
// Declarando las variables
int d, i, c = 0;
int n[5]; // Declaración del arreglo

// Entrada de números al arreglo


cout << "Ingrese Primer Numero: "; cin >> n[0];
cout << "Ingrese Segundo Numero: "; cin >> n[1];
cout << "Ingrese Tercer Numero: "; cin >> n[2];
cout << "Ingrese Cuarto Numero: "; cin >> n[3];
cout << "Ingrese Quinto Numero: "; cin >> n[4];
cout << "Ingrese el divisor: "; cin >> d;

// Proceso
for (i = 0; i <= 4; i++) {
if (n[i] % d == 0) {
c += 1;
}
}

// Salida
cout << "\n";
cout << "Los múltiplos de " << d << " son: " << c << endl;

return 0;
}

ejercicio 3:

#include <cstdlib>
#include <iostream>
using namespace std;

int main() {
// Declarando las variables
int c = 0, i, j; // contador, i, j iteradores de los arreglos A, B

// Declarando los arreglos


int a[4], b[4];
// Entrada de números a los arreglos A y B
cout << "Arreglo A \n";
cout << "=========\n";
for (i = 0; i < 4; i++) {
cout << "Numero " << i + 1 << ": ";
cin >> a[i];
}

cout << "\n";

cout << "Arreglo B \n";


cout << "=========\n";
for (i = 0; i < 4; i++) {
cout << "Numero " << i + 1 << ": ";
cin >> b[i];
}

// Comparar elementos de A y B
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (a[i] == b[j]) {
c += 1;
break; // Terminar la búsqueda en B si se encuentra un elemento
igual
}
}
}

cout << "\n";


cout << "Cantidad de números de A que se encuentran en B: " << c <<
"\n";

return 0;
}

ejercicio 4:

#include <cstdlib>
#include <iostream>
using namespace std;

int main() {
// Declarando las variables
int s = 0, i, j; // Declarando la variable de la suma y los iteradores

// Declarando la matriz
int n[3][2];

// Entrada de números a la matriz


cout << "Ingrese los números en la matriz de 3x2:\n";
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
cout << "Número (" << i << "," << j << "): ";
cin >> n[i][j];
}
}

// Proceso
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
s += n[i][j];
}
}

// Salida
cout << "\n";
cout << "La suma de los números ingresados es: " << s << "\n";

return 0;
}

ejercicio 5:
#include <iostream>

void bubbleSort(int arr[], int size) {


for (int i = 0; i < size - 1; ++i) {
for (int j = 0; j < size - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
// Intercambiar los elementos
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}

int main() {
int arr[4];

// Leer los números


std::cout << "Ingrese los 4 números:" << std::endl;
for (int i = 0; i < 4; ++i) {
std::cin >> arr[i];
}

// Ordenar los números utilizando bubble sort


bubbleSort(arr, 4);

// Mostrar los números ordenados


std::cout << "Los números ordenados son:" << std::endl;
for (int i = 0; i < 4; ++i) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;

return 0;

ejercicio 6:
#include <iostream>
#include <vector>
#include <cctype>
#include <limits>
bool esMultiplo(int num, int divisor) {
return num % divisor == 0;
}

bool esNumeroValido(const std::string& entrada) {


for (char c : entrada) {
if (!std::isdigit(c)) {
return false;
}
}
return true;
}

int main() {
std::vector<int> A(4);
std::vector<int> B(4);
std::string entrada;
int num;
int count = 0;

// Leer los números para el vector A


std::cout << "Ingrese los 4 números para el vector A:" << std::endl;
for (int i = 0; i < 4; ++i) {
while (true) {
std::cin >> entrada;
if (esNumeroValido(entrada)) {
break;
}
std::cout << "Entrada inválida. Ingrese un número válido: ";
}
num = std::stoi(entrada);
A[i] = num;
}

// Leer los números para el vector B


std::cout << "Ingrese los 4 números para el vector B:" << std::endl;
for (int i = 0; i < 4; ++i) {
while (true) {
std::cin >> entrada;
if (esNumeroValido(entrada)) {
break;
}
std::cout << "Entrada inválida. Ingrese un número válido: ";
}
num = std::stoi(entrada);
B[i] = num;
}

// Determinar cuántos números de A son múltiplos de B


for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
if (esMultiplo(A[i], B[j])) {
count++;
break; // No es necesario seguir verificando los demás elementos
de B
}
}
}

// Mostrar el resultado
std::cout << "La cantidad de números de A que son múltiplos de B es: "
<< count << std::endl;

return 0;
}

ejercicio 7:
#include <iostream>

using namespace std;

int main() {
int matriz[4][3];
int suma_columnas[3] = {0};

// Ingresar los números en la matriz


cout << "Ingrese los 12 numeros de la matriz:" << endl;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
cout << "Ingrese el numero en la posicion [" << i << "][" << j << "]:
";
cin >> matriz[i][j];
}
}

// Calcular la suma de cada columna


for (int j = 0; j < 3; j++) {
for (int i = 0; i < 4; i++) {
suma_columnas[j] += matriz[i][j];
}
}

// Mostrar la suma de cada columna


cout << "La suma de cada columna es:" << endl;
for (int j = 0; j < 3; j++) {
cout << "Columna " << j + 1 << ": " << suma_columnas[j] << endl;
}

return 0;
}

ejercicio 8:

#include <iostream>
#include <locale> // Agregamos la librería locale para manejar tildes y ñ
using namespace std;

struct Persona {
char sexo;
int diaNacimiento;
int mesNacimiento;
int anioNacimiento;
};

int main() {
const int maxPersonas = 50;
Persona personas[maxPersonas];
int numPersonas = 0;

// Configuramos la localización para imprimir correctamente las tildes y


la ñ
setlocale(LC_ALL, "Spanish");

// Ingresar datos de las personas


while (numPersonas < maxPersonas) {
cout << "Persona " << numPersonas + 1 << ":" << endl;
cout << "Sexo (M/F): ";
cin >> personas[numPersonas].sexo;

if (personas[numPersonas].sexo == 'M' || personas[numPersonas].sexo


== 'F') {
cout << "Día de nacimiento: ";
cin >> personas[numPersonas].diaNacimiento;

cout << "Mes de nacimiento: ";


cin >> personas[numPersonas].mesNacimiento;

cout << "Año de nacimiento: ";


cin >> personas[numPersonas].anioNacimiento;

numPersonas++;

char continuar;
cout << "¿Desea ingresar otra persona? (S/N): ";
cin >> continuar;
if (continuar != 'S' && continuar != 's') {
break;
}
} else {
cout << "El sexo debe ser 'M' o 'F'. Por favor, ingrese nuevamente."
<< endl;
}
}

// Buscar personas por mes de cumpleaños


int mesBusqueda;
while (true) {
cout << "Ingrese un número de mes (0 para salir): ";
cin >> mesBusqueda;

if (mesBusqueda == 0) {
break;
}

cout << "Personas que cumplen años en el mes " << mesBusqueda <<
":" << endl;
for (int i = 0; i < numPersonas; i++) {
if (personas[i].mesNacimiento == mesBusqueda) {
cout << "Sexo: " << personas[i].sexo << ", ";
cout << "Día: " << personas[i].diaNacimiento << ", ";
cout << "Mes: " << personas[i].mesNacimiento << ", ";
cout << "Año: " << personas[i].anioNacimiento << endl;
}
}
}

return 0;
}

ejercicio 9:
#include <iostream>
#include <locale> // Agregamos la librería locale para manejar tildes y ñ
using namespace std;

struct Empleado {
char categoria;
int edad;
};

int main() {
const int numEmpleados = 10;
Empleado empleados[numEmpleados];

// Configuramos la localización para imprimir correctamente las tildes y


la ñ
setlocale(LC_ALL, "Spanish");

// Ingresar datos de los empleados


for (int i = 0; i < numEmpleados; i++) {
cout << "Empleado " << i + 1 << ":" << endl;
cout << "Categoría (A/B/C): ";
cin >> empleados[i].categoria;

cout << "Edad: ";


cin >> empleados[i].edad;
}

// Calcular promedio de edades para una categoría dada


char categoriaBusqueda;
cout << "Ingrese una categoría (A/B/C) para calcular el promedio de
edades: ";
cin >> categoriaBusqueda;

int sumaEdades = 0;
int contadorEmpleados = 0;
for (int i = 0; i < numEmpleados; i++) {
if (empleados[i].categoria == categoriaBusqueda) {
sumaEdades += empleados[i].edad;
contadorEmpleados++;
}
}

if (contadorEmpleados > 0) {
float promedioEdades = static_cast<float>(sumaEdades) /
contadorEmpleados;
cout << "El promedio de edades para la categoría " <<
categoriaBusqueda << " es: " << promedioEdades << endl;
} else {
cout << "No se encontraron empleados en la categoría " <<
categoriaBusqueda << "." << endl;
}

return 0;
}

ejercicio 10:

#include <iostream>
#include <cstring>

struct Imagen {
char tipo[20];
int ancho;
int alto;
double tamano;
};

const int MAX_IMAGENES = 100;


Imagen imagenes[MAX_IMAGENES];
int numImagenes = 0;

void AgregarImagen() {
if (numImagenes < MAX_IMAGENES) {
Imagen nuevaImagen;
std::cout << "Tipo: ";
std::cin >> nuevaImagen.tipo;
std::cout << "Ancho en píxeles: ";
std::cin >> nuevaImagen.ancho;
std::cout << "Alto en píxeles: ";
std::cin >> nuevaImagen.alto;
std::cout << "Tamaño en Kb: ";
std::cin >> nuevaImagen.tamano;

imagenes[numImagenes] = nuevaImagen;
numImagenes++;
} else {
std::cout << "No se pueden agregar más imágenes. Límite alcanzado." <<
std::endl;
}
}

void VerTodasLasImagenes() {
for (int i = 0; i < numImagenes; i++) {
std::cout << "Imagen " << i + 1 << ":" << std::endl;
std::cout << "Tipo: " << imagenes[i].tipo << std::endl;
std::cout << "Ancho en píxeles: " << imagenes[i].ancho << std::endl;
std::cout << "Alto en píxeles: " << imagenes[i].alto << std::endl;
std::cout << "Tamaño en Kb: " << imagenes[i].tamano << std::endl;
std::cout << std::endl;
}
}

void BuscarPorTipo(const char* tipoBuscado) {


for (int i = 0; i < numImagenes; i++) {
if (strcmp(imagenes[i].tipo, tipoBuscado) == 0) {
std::cout << "Imagen " << i + 1 << ":" << std::endl;
std::cout << "Tipo: " << imagenes[i].tipo << std::endl;
std::cout << "Ancho en píxeles: " << imagenes[i].ancho << std::endl;
std::cout << "Alto en píxeles: " << imagenes[i].alto << std::endl;
std::cout << "Tamaño en Kb: " << imagenes[i].tamano << std::endl;
std::cout << std::endl;
}
}
}

int main() {
int opcion;

do {
std::cout << "Menú:" << std::endl;
std::cout << "1. Agregar una imagen" << std::endl;
std::cout << "2. Ver información de todas las imágenes" << std::endl;
std::cout << "3. Buscar imágenes por tipo" << std::endl;
std::cout << "4. Salir" << std::endl;
std::cout << "Opción: ";
std::cin >> opcion;

switch (opcion) {
case 1:
AgregarImagen();
break;
case 2:
VerTodasLasImagenes();
break;
case 3:
char tipoBuscado[20];
std::cout << "Ingrese el tipo a buscar: ";
std::cin >> tipoBuscado;
BuscarPorTipo(tipoBuscado);
break;
case 4:
std::cout << "Saliendo del programa." << std::endl;
break;
default:
std::cout << "Opción inválida." << std::endl;
}
} while (opcion != 4);
return 0;
}

ejercicio 11:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <locale> // Agregamos la librería locale para manejar tildes y ñ
using namespace std;

struct Persona {
char genero;
int edad;
float monto;
};

bool compararPorGeneroYmonto(const Persona& a, const Persona& b) {


if (a.genero == b.genero) {
return a.monto < b.monto;
}
return a.genero < b.genero;
}

int main() {
const int maxPersonas = 200;
Persona personas[maxPersonas];
int numPersonas;

srand(time(0));

// Configuramos la localización para imprimir correctamente las tildes y


la ñ
setlocale(LC_ALL, "Spanish");
cout << "Ingrese el número de personas (máximo " << maxPersonas <<
"): ";
cin >> numPersonas;

if (numPersonas > maxPersonas) {


cout << "El número de personas excede el máximo permitido." <<
endl;
return 1;
}

// Generar datos aleatorios para las personas


for (int i = 0; i < numPersonas; i++) {
personas[i].genero = rand() % 2 == 0 ? 'M' : 'F';
personas[i].edad = rand() % 36 + 15;
personas[i].monto = rand() % 476 + 25; // Entre 25 y 500
}

// Mostrar listado de montos generados


cout << "Listado de montos generados:" << endl;
for (int i = 0; i < numPersonas; i++) {
cout << "Persona " << i + 1 << ": Género: " << personas[i].genero <<
", Edad: " << personas[i].edad << ", Monto: " << personas[i].monto <<
endl;
}

// Ordenar el listado según el género y los montos


sort(personas, personas + numPersonas, compararPorGeneroYmonto);

// Mostrar listado ordenado


cout << "\nListado ordenado según género y montos:" << endl;
for (int i = 0; i < numPersonas; i++) {
cout << "Persona " << i + 1 << ": Género: " << personas[i].genero <<
", Edad: " << personas[i].edad << ", Monto: " << personas[i].monto <<
endl;
}

return 0;
}

También podría gustarte