Dev - C++ - Ayuda con tarea de programación, ejercicio de Pesca en C (No es c++)

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con tarea de programación, ejercicio de Pesca en C (No es c++)

Publicado por Jacky1993 (4 intervenciones) el 14/05/2019 17:04:58
El programa es el siguiente y sinceramente no entiendo la lógica, es una tarea de la facultad y no lo puedo resolver usando vectores. Solo funciones, if, while o switch case.

Solo necesito ayuda para entender la lógica, la idea es que lo haga yo mismo, así que por favor no envíen un programa echo, gracias.

Dice lo siguiente:

Se desea verificar si la pesca realizada en un rio tiene relación directa con la altura que tenia el rio ese dia. Para esto, el usuario ingresará dos numeros: Laltura del río en metros (float) y la cantidad de peces capturados (unsigned
int). El ingreso finaliza cuando se ingrese un -1 en la altura del rio. Al finalizar el ingreso se debe mostrar en pantalla si la MAYOR cantidad de peces capturados coincide con la MAYOR altura del río, lo no.
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 Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con tarea de programación, ejercicio de Pesca en C (No es c++)

Publicado por Rodrigo (539 intervenciones) el 14/05/2019 17:34:52
Para saber el maximo de in conjunto de datos no requieres guardar todos los datos.
Siempre que tienes El maximo de los numeros hasta ahora puedes saber si El siguiente valor es el maximo o sigue siendo El que estaba antes.

Estas preguntando 2 valores, puedes obtener 2 maximos, independientes entre si.

Nada te impide tener otra variable que guarde cual es El valor de la otra variable cuando esta es El maximo.

Tendras entonces 3 valores: maximaAlturaRio, maximaCaptura, capturaCuandoFueLaMaximaAltura

Te falta preguntar si Las 2 capturas calzan. Si calzan, hay relacion directa, sno, no.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con tarea de programación, ejercicio de Pesca en C (No es c++)

Publicado por Jacky1993 (4 intervenciones) el 14/05/2019 17:49:22
Dale buenísimo, muchas gracias Rodrigo, voy a crear el programa con la base que me dijiste y después posteo el código
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
sin imagen de perfil
Val: 8
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con tarea de programación, ejercicio de Pesca en C (No es c++)

Publicado por Jacky1993 (4 intervenciones) el 15/05/2019 23:26:04
buenas noches a todos, aca traigo el codigo que cree sobre el problema de ayer, pero no estoy seguro si esta bien y es lo que pide la consigna. Si lo pudieran ver los que mas saben se los agradeceria, gracias:

Edit: No se como ordenar en este chat las lineas de codigos, para que me quede como en C, si me dicen tambien se los agradeceria mucho para editarlo, y pido disculpas desde ya.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include<stdio.h>
 
int main(){
 
	float AlturaRio1, AlturaRio2;
	unsigned int Num1, Num2, Cumple=1;
 
	printf("\n\n\tIngrese altura del rio en [m]: ");
		scanf("%f",&AlturaRio1);
		printf("\n\n\tIngrese la cantidad de peces capturados: ");
		scanf("%d",&Num1);
 
	while(AlturaRio1!=-1){
 
		printf("\n\n\tIngrese altura del rio en [m]: ");
		scanf("%f",&AlturaRio2);
 
		if (AlturaRio2==-1){//SI INGRESAS -1, NO HAGAS NADA Y SALI DEL BUCLE WHILE.
			AlturaRio1=AlturaRio2;}
		else{
 
			printf("\n\n\tIngrese la cantidad de peces capturados: ");
			scanf("%d",&Num2);
 
			if (AlturaRio1<AlturaRio2&&Num1<Num2){//SI LA ALTURA Y LA CANTIDAD DE PECES ES MAYOR A LA ANTERIOR.
			Cumple=1; AlturaRio1=AlturaRio2; Num1=Num2;}//SE CUMPLE QUE A MAYOR ALTURA, MAS PECES.
			else{
				if (AlturaRio1<AlturaRio2&&Num1>Num2){// SI A MAYOR ALTURA HAY MENOS PECES, NO SE CUMPLE.
				AlturaRio1=AlturaRio2; Num1=Num2; Cumple=0;}
				else{
					if (AlturaRio1>AlturaRio2&&Num1<Num2){// SI A MENOR ALTURA, HAY MAS PECES, NO SE CUMPLE.
					AlturaRio1=AlturaRio2; Num1=Num2; Cumple=0;}
					else{
						// SINO ALTURA Y CANTIDAD DE PECES ES MENOR A LA ANTERIOR Y NO ME IMPORTAN LOS NUMEROS.
						}
					}
				}
			}
	}
 
	if(Cumple)
	printf("\n\n\nCUMPLE! la MAYOR cantidad de peces capturados coincide con la MAYOR altura del rio.");
	else
	printf("\n\n\nNO CUMPLE! la MAYOR cantidad de peces capturados no coincide con la MAYOR altura del rio.");
 
	return 0;
}
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