Dev - C++ - Ejercicio no comprendo como hacerlo

 
Vista:

Ejercicio no comprendo como hacerlo

Publicado por Anthony (1 intervención) el 16/06/2017 23:50:11
Enunciado
Se le solicita que desarrolle un programa en C++ que analice un archivo con que contiene los tiempos de uso de una plataforma web. El archivo tiene solo dos columnas, la primera es el identificador del usuario y la segunda el tiempo de duración de una sesión de trabajo. Un mismo usuario puede hacer varias sesiones de trabajo. Se sabe que hay, a lo más, 1708 usuarios.
Será necesario que su desarrollo calcule lo siguiente:
1. El usuario con más sesiones de trabajo.
2. Generar un archivo con el tiempo total de cada usuario.
3. El usuario con más tiempo de uso en total (considerando todas las sesiones).

Se solicita
Junto con la entrega del programa funcional (debe compilar y ejecutar correctamente) debe redactar un informe detallando lo siguiente:
Introducción
Descripción general de su solución
Explicación de cada segmento de código (por ejemplo que hace cada función, sentencia o ciclo, entre otros).
Resultados y Conclusiones
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sergio Can
Val: 58
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ejercicio no comprendo como hacerlo

Publicado por Sergio Can (23 intervenciones) el 19/06/2017 10:22:44
Tienes máximo 1708 usuarios toma base de ahí como si fuese un arreglo

tempo[1708]
Sesiones[1708]

El archivo se separa entre id y tiempo, osea:
______
1 | 15
2 | 20
1 | 30
(Si tiempo es flotante, tienes que cuidar eso del código)
(Toma en cuenta en que id empieza si con 0 o con 1)

Bueno el caso:

Para cada línea en el archivo
separa en 2 la linea a partir del delimitador.
/*Cuando lo partas la primera parte será tu id y la otra el tiempo. Los puedes guardar en dos variables o en un arreglo de dos.(ID,TIEMPO)
(Para convertir un string a entero se usa la función atoi() ) */
luego: tempo[ID] += TIEMPO;
Sesiones[ID] +=1


Haciendo eso ya guardaste el tiempo que tarda cada usuario y el número de sesiones de cada.

Luego haces una búsqueda de cuál es el mayor en el arreglo de sesiones[]
Para los archivos usas Fopen u OStream creo (checas en cppreference como se usan) y escribes la información que ya guardaste en el arreglo de tempo.
Y vuelves a usar la función de búsqueda que usaste en sesiones pero para tempo[]

Con eso puedes resolverlo. Cualquier duda o algo ahí está mi mail
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar