Dev - C++ - martriz.

 
Vista:

martriz.

Publicado por jorge (1 intervención) el 02/12/2010 22:22:28
necesito que alguien me ayude con un problema que tengo en una matriz.
resulta que tengo que compilar un ejercicio de clase y no lo puedo terminar por falta de informacion (el profe es un poco . . . . . . ) bueno el problema me dice que tengo que introducir unas horas y unos minutos, despues tengo que mostrar la hora mas alta, ira desde la hora 0 hasta la 23, (ya se que no tiene mucho sentido pero bueno "el profe es el profe"), y me quedo en mostrar la hora mas alta, pero muestro los minutos mas altos de todos, que no corresponde a los de la hora mas alta , alguien que me ayude porfa"""
aqui dejo el programita para que asi lo veais :
#include<stdio.h>
# define dias 7
#include<conio.h>
void main()
{
int horas[dias];
int minutos[dias];
int a;
int mayor=0;
int mayor_m=0;
int alta[dias];
for(a=0;a<dias;a++)
{
do
{
clrscr();
printf("\nintroduce la hora del dia %d: ",a);
fflush(stdin);
scanf("%d",&horas[a]);
printf("introduce los minutos del dia %d: ",a);
fflush(stdin);
scanf("%d",&minutos[a]);
}
while((horas[a]<0)||(horas[a]>23));
}
for(a=0;a<dias;a++)
{
printf("\ndia %d --> %d:%d",a,horas[a],minutos[a]);
}
for(a=0;a<dias;a++)
{
if(mayor<horas[a])
{
mayor=horas[a];
}
if(mayor_m<minutos[a])
{
mayor_m=minutos[a];
}
}
printf("\nla hora mas alta es: %d:%d PM",mayor,mayor_m);
}
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

RE:martriz.

Publicado por Capitan Kirk (48 intervenciones) el 03/12/2010 10:09:13
Te estás quedando en mayor con la hora más alta, y en mayor_m con el minuto más altos, pero esas comparaciones las haces independientes, y por ello se queda con la hora más alta por un lado y con el minuto más alto por otro.

Una sugerencia sería quedarse con el índice, es decir, cuando encuentro una hora más alta que otra me guardo el índice correspondiente a esa hora más alta. Cuando termino, imprimo el elemento de los arrays de horas y minutos que corresponden a ese índice.

Debes tener en cuenta el caso de que haya dos horas iguales. Entonces, mandan los minutos, y sería cuando comparo los minutos. En tal caso, me quedaría con el índice correspondiente al minuto mayor.

Ya puestos, comprueba también si para los minutos se ha introducido un valor correcto (entre 0 y 59).

Saludos,
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