You are on page 1of 3

1 #include<iostream>

2 #include<string.h>
3 #include<conio.h>
4 using namespace std;
5 void ingresodevalores(int n, int array[]);
6 void burbuja(int n,int c[],int p[],int v[],char nombre[][30]);
7 void ingresodenombres(int n, char nombre[][30]);
8 void burbuja(int n,int c[],int p[],int v[],char nombre[][30]);
9 void costobeneficio(int n,float c[],int v[],int p[]);
10 void mochila(int n,int m,int p[],int v[],int c[],int masa[],int valores[],float
x[],float x2[]);
11 void salidadedatos(int n,int p[],float x[],float x2[],int masa[], int valores[],char
nombre[][30]);
12 int menu()
13 {
14 int op;
15 do{
16
17 cout<<"\t*****MENU*****\n"<<endl;
18 cout<<"\t[1].Ingresar datos"<<endl;
19 cout<<"\t[2].Mostrar el personal a descartar"<<endl;
20 cout<<"\t[3].Salir"<<endl;
21 cout<<"\tElija una opcion[ ]\b\b";
22 cin>>op;
23 }while(op<0||op>3);
24 return(op);
25 }
26
27 void ingresodevalores(int n, int array[]){
28 for(int q=0;q<n;++q)
29 {
30 cout<<"Ingrese valor["<<q<<"] : ";
31 cin>>array[q];
32 }
33 }
34 void burbuja(int n,float c[],int p[],int v[],char nombre[][30]){
35 float aux,aux1,aux2,ctrc;
36 char aux3[30];
37
38 for(int i=0;i<n;i++)
39 for (int j=0;j<n-1;j++)
40 {
41 if(c[j]>c[j+1])
42 {
43 aux=c[j];
44 c[j]=c[j+1];
45 c[j+1]=aux;
46
47 aux1=p[j];
48 p[j]=p[j+1];
49 p[j+1]=aux1;
50
51 aux2=v[j];
52 v[j]=v[j+1];
53 v[j+1]=aux2;
54
55 strcpy (aux3,nombre[j]);
56 strcpy (nombre[j],nombre[j+1]);
57 strcpy (nombre[j+1],aux3);
58 }
59 }
60
61 }
62 void ingresodenombres(int n, char nombre[][30]){
63 for(int q=0;q<n;++q)
64 {
65 cout<<"Ingrese nombre ["<<q<<"] : "<<endl;
66 cin>>nombre[q];
67 fflush(stdin);
68 }
69 }
70 void costobeneficio(int n,float c[],int v[],int p[]){
71 for(int i=0;i<n;i++)
72 {
73
74 }
75
76 }
77 void mochila(int n,int m,int p[],int v[],float c[],int masa[],int valores[],float
x[],float x2[]){
78 float h,k;
79 int valor=0,i;
80 cout<<"\n";
81 //cout<<"El mayor valor es: "<<V<<endl;
82
83 for (int i=n-1;i>=0;i--)
84 {
85
86 if(p[i]<m)
87 {
88 valor=valor+v[i];
89 m=m-p[i];
90 x[i]=1;
91 }
92 if(p[i]>=m)
93 {
94 h=((m/p[i]));
95 x[i]=h;
96 k=v[i]*h;
97 c[i]=k;
98 cout<<k<<endl;
99 valor=valor+k;
100 m=0;
101 x2[i]=0;
102 }
103 masa[i]=m;
104 valores[i]=valor;
105 }
106 }
107 void salidadedatos(int n,int p[],float x[],float x2[],int masa[], int valores[],char
nombre[][30]){
108
109 system("cls");
110 cout<<"\n\n";
111 cout<<"V = 0 |\t";
112 for (int i=n-1;i>=0;i--)
113 {
114 if (x[i]!=0)
115 cout<<valores[i]<<"\t";
116 else break;
117 }
118 cout<<endl;
119 for (int i=n-1;i>=0;i--)
120 cout<<"===========";
121 cout<<endl;
122 cout<<"W = 100 |\t";
123 for (int i=n-1;i>=0;i--)
124 { if (x[i]!=0)
125 cout<<masa[i]<<"\t";
126 else break;
127 }
128 cout<<endl;
129 for (int i=n-1;i>=0;i--)
130
131 cout<<"===========";
132 cout<<endl;
133 cout<<" Xi |\t";
134 for (int i=n-1;i>=0;i--)
135 { if (x[i]!=0)
136 cout<<x[i]<<"\t";
137 else break;
138 }
139 cout<<endl;
140 cout<<"Descartados son:\n"<<endl;
141 for (int i=n-1;i>=0;i--)
142 {
143 if (x[i]!=0)
144 {
145
146 }
147
148 else
149 cout<<i<<"--> "<<nombre[i]<<"-->"<<p[i]<<"\t\n";
150 }
151 }
152
153
154 int main()
155 {
156 system ("color 0a");
157 int op;
158 int n,m,p[10],v[10],masa[15],valores[20];
159 float c[10],x[10],x2[10];
160 char nombre[30][30];
161
162 do{
163
164 op=menu();
165 switch(op)
166 {
167 case 1:
168 //ingreso de datos
169 cout<<"Ingrese n (cantidad de objetos): ";
170 cin>>n;
171 cout<<"Ingrese m (peso max): ";
172 cin>>m;
173 ingresodevalores(n, p);
174 ingresodevalores(n,v);
175 ingresodenombres( n, nombre);
176 costobeneficio(n,c, v, p);
177 burbuja( n, c, p, v, nombre);
178
179 system("pause");
180 break;
181 case 2:
182 mochila(n,m,p,v,c,masa,valores ,x, x2);
183 salidadedatos(n,p, x,x2, masa, valores, nombre);
184 //mostrar el personal a descartar
185 break;
186 case 3:
187 break;
188 }
189 }while(op!=3);
190 system ("pause");
191 return (0);
192 } //Derechos reservados by: RONNY ELMERengues (ronyelpapi)
193

You might also like