Untitled
unknown
c_cpp
3 years ago
2.9 kB
9
Indexable
#include <iostream> #define MAX 50 using namespace std; int S[MAX]; // solucion int c[MAX]; // comienzo de cada actividad int f[MAX]; // final de cada actividad void ingresar_actividades(int n) { for (int i = 0; i < n; i++) { do { cout << " Actividad " << i + 1 << endl << endl; cout << "\tinicio : "; cin >> c[i]; cout << "\tfinal : "; cin >> f[i]; cout << endl; } while (c[i] > f[i]); // el inicio no puede ser mayor que el final } } void mostrar_datos(int n) { cout << " Actividades ingresadas. " << endl << endl; cout << "\t\t Ai : "; for (int i = 0; i < n; i++) cout << i + 1 << ' '; cout << endl << "\t\t-------------------------" << endl; cout << "\t\t inicio : "; for (int i = 0; i < n; i++) cout << c[i] << ' '; cout << endl; cout << "\t\t fin : "; for (int i = 0; i < n; i++) cout << f[i] << ' '; } void Ordenar(int n) { int aux1, aux2, aux3, band = 1; for (int i = n - 1; i > 0 && band == 1; i--) { band = 0; for (int j = 0; j < i; j++) { if (f[j] > f[j + 1]) { aux1 = f[j]; f[j] = f[j + 1]; f[j + 1] = aux1; aux2 = c[j]; c[j] = c[j + 1]; c[j + 1] = aux2; band = 1; } } } mostrar_datos(n); } void devolver_solucion() { cout << endl << " Solucion voraz: \n\n\t"; int i = 0; while (1) { cout << "A" << S[i] + 1 << ""; i++; if (S[i] == 0) break; } } void algoritmo_seleccion(int n) { Ordenar(n); int z, k = 1; S[0] = 0; z = 0; for (int i = 1; i < n; i++) { if (c[i] >= f[z]) { S[k] = i; // actividad seleccionada z = i; k++; } } devolver_solucion(); } void pantalla() { cout << endl; cout << "\t ---------------------------------------------- " << endl; cout << "\t ALGORITMO SELECCION DE ACTIVIDADES " << endl; cout << "\t ---------------------------------------------- " << endl; } int main() { system("color 0b"); pantalla(); int N; cout << " Ingrese numero de actividades: "; cin >> N; cout << endl; ingresar_actividades(N); system("cls"); pantalla(); algoritmo_seleccion(N); cout << endl << endl; system("pause"); return 0; }
Editor is loading...