el viaje

Iniciado por mapers, 13 Julio 2010, 07:56 AM

0 Miembros y 1 Visitante están viendo este tema.

mapers



La entrada

de entrada estándar contendrá la información para varios viajes. La información correspondiente a cada viaje consiste en una línea que contiene un entero positivo n, el número de estudiantes en el viaje, seguido de n líneas de entrada, cada uno con la cantidad, en dólares y centavos, pasó por un estudiante. No hay más de 1000 estudiantes y ningún estudiante gastó más de $ 10,000.00. Una sola línea que contiene 0 sigue la información para el último viaje.

La salida

Por cada viaje, la producción de una línea indicando la cantidad total de dinero, en dólares y centavos, que deben ser cambiados para igualar los costos de los estudiantes.

Ejemplo de entrada

3 10,00 20,00 30,00     4 15,00 15,01 3,00 3,01        0
Ejemplo de entrada de salida para

$ 10.00 $ 11.99

esta es mi solucion ustedes como lo harian
Código (cpp) [Seleccionar]

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{   float n,P,A[100000];
   int i,S;
    while(n!=0)
    {   cout<<"INGRESE EL NUMERO DE ESTUDIANTES"<<endl;
        cin>>n;
        for(i=0;i<n;++i)
            {
               cout<<"A["<<i+1<<"]"<<endl;
               cin>>A[i];
               S=A[i]+S;
            }
            int P = ((double)S/n)+0.5;
    float suma1=0,suma2=0,res=0;
    for(i=0;i<n;++i)
    {
        if(A[i]>P)
            suma1 +=A[i]-P;
        else if(A[i]<P)
            suma2 +=P-A[i];
    }
    if(suma1<suma2)
    res=suma1;
    else
    res=suma2;
    cout<<res<<endl;
    A[100000]=NULL;

    }

    system("PAUSE");
    return EXIT_SUCCESS;
}