Un centenar de políticos e invitados asistieron a un banquete para recaudar fondos. Cada uno de los diputados que asistió pagó 75 monedas, cada senador 99 y cada invitado 40 monedas. Si en total se ingresaron 7869 monedas, Hacer un programa en C que determine Cuántos Diputados, Senadores e Invitados había, respectivamente? Ayudenme me tiene que dar 100 y se pasa que hago#include <iostream>
int main()
{
int dip, sen, inv, mon, num_sen, num_dip, num_inv;
printf("\nintroduzca el numero de monedas que aportaron los diputados") ;
printf("\n");
scanf("%i", & dip);
printf("\nintroduzca el numero de monedas que aportaron los senadores") ;
printf("\n");
scanf("%i", &sen );
printf("\nintroduzca el numero de monedas que aportaron los invitados") ;
printf("\n");
scanf("%i", & inv);
printf("\nintroduzca el numero total de monedas recolectadas") ;
printf("\n");
scanf("%i", & mon);
num_sen=mon/sen;
printf("\nla cantidad de senadores que asistieron es de:%d", num_sen );
num_dip=mon/dip;
printf("\nla cantidad de dip que asistieron es de:%d", num_dip );
num_inv=mon/inv;
printf("\nla cantidad de inv que asistieron es de:%d", num_inv );
return 0;
}
lo que preguntas, en el otro tema, no te sirve, porque la otra persona tenía un dato extra que le permitía hacer un sistema de ecuaciones, que era el dato sobre la cantidad de invitados...
tu formula es
algo como
A*75 + B*99 + C*40 = 7896
y estás tratando de obtener las respuestas por una simple división o no se puede de esa manera, en este caso tienes que hacer "fuerza bruta" mira mi respuesta en el otro tema y se aplica casi al 100% para ti
intenta aplicar esto (modificado a tu problema, que no tiene indicado que son 100 invitados) y escribe si te trancas
Cita de: engel lex en 3 Marzo 2014, 00:57 AM
qué sabes de c?
lo básico seria por fuerza bruta:
colocar 3 variables que entre ellas siempre deben sumar 100 (hombre, mujeres, y niños, las llamare A, B y C respectivamente)
usar 1 ciclo para recorrer la primera variable, desde 1 hasta 98 (esto porque las otras deben valer siempre por lo menos 1 c/u)
el segundo ciclo va desde 1 hasta 100-A-1 (100 es la sumatoria, A es el valor de la variable en primer ciclo, 1 es el valor minimo de la tercera variable)
en este segundo ciclo C va a ser igual a 100-A-B para mantener siempre la proporción de 100
por ultimo en este ciclo creas un if donde si A*75 + B*99 + C*40 = 7869 entonces tienes la combinación correcta... en ese caso, imprimes en pantalla y listo...
ya lo que tienes que hacer es volver a código eso que te dije... no es tanto, 2 ciclos un if y algunas sumas...
Cita de: engel lex en 1 Julio 2014, 02:08 AM
lo que preguntas, en el otro tema, no te sirve, porque la otra persona tenía un dato extra que le permitía hacer un sistema de ecuaciones, que era el dato sobre la cantidad de invitados...
.................................
intenta aplicar esto (modificado a tu problema, que no tiene indicado que son 100 invitados........................
Perdona la observación
engel lex y si me equivoco corrígeme, please:
Cita de: rafa011 en 2 Marzo 2014, 23:23 PM
Un centenar de mujeres, hombres y niños asistieron a un banquete para recaudar fondos.
...............................
Con lo que basta un simple for para obtener la solución:
Citar
Diputados: 33 Senadores: 46 Invitados: 21 Total: 100 Total recaudado: 7869
Process returned 0 (0x0) execution time : 0.023 s
Press any key to continue.
Y a quien procede, dejo el código ya que creo que está bien "ofuscado" y no serviría para "entregar" como solución, a no ser que se lo curre y se entere de lo que pone. En cualquier caso aconsejo visitar el enlace de la cita de
engel lex en su mensaje para "ampliar" puntos de vista:
#include <iostream>
using namespace std;
int main (){
for (int i=0; i<=100; ++i)
if ( (100-(369+35*i)/24-i) >=0 && 99*(369+35*i)/24+(100-(369+35*i)/24-i)*75 + 40*i == 7869 )
cout << "Diputados: " << (100-(369+35*i)/24-i) << " Senadores: "<< (369+35*i)/24 << " Invitados: " << i << " Total: " << (369+35*i)/24+(100-(369+35*i)/24-i)+i << " Total recaudado: " << (100-(369+35*i)/24-i)*75 +99*(369+35*i)/24+ 40*i << endl;
return 0;
}
¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
leo XD creo que me estas mezclando 2 cosas... estas respondiendo lo que habiamos discutido antes XD...
sin embargome doy cuenta que lei mal el ejercicio
CitarUn centenar de políticos e invitados asistieron a un banquete para recaudar fondos. Cada uno de los diputados que asistió pagó 75 monedas, cada senador 99 y cada invitado 40 monedas. Si en total se ingresaron 7869 monedas, Hacer un programa en C que determine Cuántos Diputados, Senadores e Invitados había, respectivamente?
esta bien XD me equivoque, es decir, la primera cita y el otro tema funciona en 100% XD