Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: el gusanillo en 7 Febrero 2018, 06:52 am



Título: No se como hacer este ejercicio.
Publicado por: el gusanillo en 7 Febrero 2018, 06:52 am
Escribir un programa que dado un array de 10 enteros (introducidos a mano en el código), calcule la diferencia entre la posición del valor mayor y la del menor (si la diferencia es negativa,querrá decir que el valor menor aparece después del mayor).

Lo estoy resolviendo así, pero me el resultado es malo. Os pido un poco de ayuda, gracias

1.   #include <stdio.h>
2.   #include <stdlib.h>
3.
4.   #define numeros_a_pedir 10
5.
6.   #define max (a,b) a>b? a:b
7.   define min (a,b) a<b? a:b
8.
9.   int main (int argc,char**argv){
10. int i, máximo,minimo;
11. máximo=minimo=0;
12. for (i=0;i<números _a_ pedir,i++){
13. int n;
14. scanf ("%i",&n);
15. màximo=max(màximo,n);
16. mínimo=min(mínimo,n);
17. }
18. printf("Máximo:%i,Mínimo:%i",máximo,mÍnimo);
19. return EXIT_SUCCESS;
20. }



Título: Re: No se como hacer este ejercicio.
Publicado por: MAFUS en 7 Febrero 2018, 07:00 am
Este tema se trató hace muy poco. Mira aquí:
https://foro.elhacker.net/programacion_cc/ejercicio_calcular_la_diferencia-t478628.0.html


Título: Re: No se como hacer este ejercicio.
Publicado por: el gusanillo en 10 Febrero 2018, 08:32 am
Gracias por la respuesta,pero en el ejercicio al que me remite, pide calcular la diferencia entre el valor menor y mayor. En este otro ejercicio,nos pregunta como hacer para calcular la diferencia entre la posición del valor mayor y la del menor.

En el matiz de calcular la diferencia y la posición, llega mi confusión.

mil gracias por la ayuda!!


Título: Re: No se como hacer este ejercicio.
Publicado por: MAFUS en 10 Febrero 2018, 14:04 pm
Es básicamente lo mismo: moverte por el array en busca del mayor valor y el menor, lo que en vez de guardar estos valores vas guardando la posición en el array de ese momento.


Título: Re: No se como hacer este ejercicio.
Publicado por: el gusanillo en 12 Febrero 2018, 19:00 pm
Muchas gracias, sigo trabajando para aprender.