Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2009, 02:25
KKarloss
 
Fecha de Ingreso: junio-2007
Mensajes: 53
Antigüedad: 16 años, 11 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);
}
}