ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Actividad algoritmo voraz


Enviado por   •  7 de Abril de 2022  •  Prácticas o problemas  •  2.499 Palabras (10 Páginas)  •  60 Visitas

Página 1 de 10

[pic 1][pic 2]

[pic 3][pic 4][pic 5][pic 6]


[pic 7][pic 8][pic 9]

Actividad

Implemente el código y analice que funciones realiza. Adapte el siguiente código para que realice la búsqueda voraz de todas las combinaciones posibles para cualquier cifra que se ingrese. Considere las siguientes denominaciones de monedas: 1, 2, 5,10, 20, 100, 200, 500; Dado que si ingresa un cantidad como 19, debería arrojar como resultado “su cambio 2 monedas de 2”, “1 moneda de 5” y “1 moneda de 10”.

Implementación

Fue implementó en el algoritmo de voraz el vector de monedas que se iba a utilizar los enteros tanto contador como el valor mínimo de monedas, opciones para los switches y para validar los datos que del usuario. también las funciones que serían necesarias usar tanto borras como para la validación de datos.

Para nuestro main al principio del programa le mostraremos al usuario un menú en donde podrá elegir entre generar y salir. Para para generar primeramente validaremos si el dato que el usuario ingreso es de tipo número donde llamaremos a nuestra función validar y mientras sea verdadero entonces se indicara la stringstream valido (c) y si válido >> d entonces break si no retorna falso en ambas sentencias. Ya que el usuario haya ingresado un valor de tipo número entonces nuestro valor va a ser en nuestra función convertir con stod dentro nuestro dato y dicho esto la opción que haya elegido al usuario pase de manera correcta ya sea si es en el caso 1 o 2.

si el usuario eligió generar entonces se define el tamaño mínimo qué es 8 y nuestro contador es igual a cero, le pediremos al usuario que ingrese el número a eso De igual forma haremos el proceso anterior para validar el dato que haya ingresado el usuario i si es de tipo número entonces llamaremos más adelante a nuestra función voraz donde se buscará de manera optima el resultado para que se del vuelto correcto. Esto es sí para n es igual a cero y éste sea menor a 7 y mientras contador sea diferente del número y mientras nuestro vector 1 sea mayor que el número menos contador i J sea mayor a cero entonces J será igual j--; sí J es menor a cero entonces nos dirá que no existe solución; siguiendo de aquí se hace la operación en donde el vector 2 será igual al número menos contador entre el vector 1 y contador será igual a contador más el vector uno por el vector 2.

 para finalizar si el usuario ingresa a la opción 2 se le mostrará un mensaje donde se le agradece haber ingresado al programa y finalizaría el programa.

Código

/*

Hernandez Martinez Mally Samira

PhD.MCC.Ramiro Lupercio Coronel

Materia: Algoritmia     D01

Tema: Algoritmo voraz

Fecha de entrega: 12 de octubre del 2021-B

*/

#include <iostream>

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <sstream>

#include <locale.h>

using namespace std;

int conjuntoA[]={1,2,5,10,20,100,200,500},conjuntoB[]={0,0,0,0,0,0,0,0};//Monedas

int numero2=1,cont=1,j=8,opc2=0;

string numero1,opc1;

void voraz(int ,int [],int []);

bool validarDato(string);

double convertirDato(string);

int main(int argc, char** argv){

    setlocale(LC_ALL, "spanish");

    system("color F0");

    do{

        do{

            system("CLS");

            cout << "\n  --------------------------------------------------- " << endl;

            cout << "                    B I E N V E N I D O                 " << endl;

            cout << "                     Cambio de dinero                   " << endl;

            cout << "  -------------------- Menu - voraz ----------------- " << endl;

            cout << "   1. Generar "<<endl;

            cout << "   2. Salir "<<endl;

            cout << "  ---------------------------------------------------"<< endl;

            cout << "   Ingrese la opcion deseada: ";

            cin>>opc1;

            if(validarDato(opc1)){

                    opc2 = convertirDato(opc1);

                }//if

                else{

                    cout << "  ---------------------------------------------------" << endl;

...

Descargar como (para miembros actualizados)  txt (9.6 Kb)   pdf (981.9 Kb)   docx (868.8 Kb)  
Leer 9 páginas más »
Disponible sólo en Clubensayos.com