Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con programita

Estas en el tema de Problema con programita en el foro de C/C++ en Foros del Web. Buenos días. Tengo una question sobre un programita que estoy realizando y que no se como solventar. El caso es que el programa dada una ...
  #1 (permalink)  
Antiguo 22/10/2009, 02:25
 
Fecha de Ingreso: junio-2007
Mensajes: 53
Antigüedad: 16 años, 10 meses
Puntos: 0
Problema con programita

Buenos días.

Tengo una question sobre un programita que estoy realizando y que no se como solventar.
El caso es que el programa dada una secuencia de datos que introduzco yo de forma manual me devuelve
el caracter cuyo mayor número de lecturas tiene, por ejemplo:
Imaginemos los datos de entrada siguientes:
<D 2 0015 0422 1012 1234
P 1 1509 1610
C 3 0100 0215 0835 0910 1758 1824
S 0
V 2 0700 1225 1535 1855
F>

la Salida seria esta : C 3 F

Pero si pongo el caso de que dos de estas secuencias tienen el mismo número de lecturas no se como puedo representar
las dos, por ejemplo:

<D 2 0015 0422 1012 1234
P 1 1509 1610
C 3 0100 0215 0835 0910 1758 1824
S 0
V 3 0700 1225 1535 1855 2000 2100
F>

la Salida seria tendría que ser esta : C 3 v 3 F.

Este es el código que me resulve la primera opción, gracias por adelantado:

#include <stdio.h>
#include <stdlib.h>
typedef enum{TRUE, FALSE} bool;
bool palabrasIguales(char palabra1, char palabra2);
void copiaPalabras(char palabra1, char *palabra2);
void nivelesMaximo();
int main()
{
nivelesMaximo();
system("PAUSE");
return 0;
}
void copiaPalabras(char palabra1, char *palabra2){
*palabra2 = palabra1;
}
bool palabrasIguales(char palabra1, char palabra2){
if(palabra1 == palabra2){
return TRUE;
}
else{
return FALSE;
}
}
void nivelesMaximo(){
const char FINSEQ = 'F';
char id, idMax;
int Num, NumMax, h1, h2, i;
idMax = ' ';
NumMax = 0;
printf("Introduzca una Estacion: \n");
scanf("%c", &id);
while(palabrasIguales(id, FINSEQ)){
printf("Introduzca el numero de lecturas: \n");
scanf("%d", &Num);
fflush(stdin);
for(i = 0; i < Num; i++ ){
printf("Escribe Hora de inicio: ");
scanf("%d", &h1);
printf("Escribe Hora de fin: ");
scanf("%d", &h2);
}
if (Num > NumMax){
NumMax = Num;
copiaPalabras(id,&idMax);
}
fflush(stdin);
printf("Introduzca una Estacion: \n");
scanf("%c", &id);
}
if(!palabrasIguales(id, FINSEQ) && NumMax > 0){
printf("%c ", idMax);
printf("%d ", NumMax);
printf("%c ", FINSEQ);
}
else{
printf("%c ", FINSEQ);
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:44.