Autor
|
Tema: ejercicio de vector c++ (Leído 2,933 veces)
|
eterno21
Desconectado
Mensajes: 10
|
Hola, he hecho un ejercicio de c++ en el que se me pide una funcion que encuentre en un vector de numeros el valor maximo e indique su valor y posicion y me gustaria saber si esta bien hecha. Esta es: #include<stdio.h> #include<stdlib.h>
void Valor_maximo(int V[], int n){ int max, i, pos; max=V[0]; pos=1; for(i=1;i<=n;i++){ if (max<V){ max=V; pos=i; } } printf("El valor maximo se encuentra en la posicion %d y su valor es %d",pos,max); }
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Sí es correcta, pero tienes que imprimirlo en pantalla o devolver su valor?
|
|
|
En línea
|
|
|
|
eterno21
Desconectado
Mensajes: 10
|
Hola, gracias, no, solamente me pide la creacion de la funcion, este es el enunciado exacto:"Escribir una función que busque en un vector de números el máximo valor, e indique su valor y posición. Se supone que el vector está desordenado."
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Bueno hay un error: pos=1;
Aquí sería 0.
|
|
|
En línea
|
|
|
|
eterno21
Desconectado
Mensajes: 10
|
Hola, cuando estamos trabajando con un vector V para la 1º posicion uso V[0] como tiene que ser, lo que pasa es que como ahi se trataba de dar la posicion al usuario, pues no se, pense que era mas adecuado llamarla la 1 o la 1º,
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Hola, cuando estamos trabajando con un vector V para la 1º posicion uso V[0] como tiene que ser, lo que pasa es que como ahi se trataba de dar la posicion al usuario, pues no se, pense que era mas adecuado llamarla la 1 o la 1º,
Pero entonces tendrías que poner el +1 en todas las iteraciones. Lo mejor esque lo cambies en el printf: printf("El valor maximo se encuentra en la posicion %d y su valor es %d",pos +1,max );
|
|
|
En línea
|
|
|
|
eterno21
Desconectado
Mensajes: 10
|
Tambien es verdad, tienes razon, lo pondre asi, gracias y un saludo.
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Ya que en C y C++ los indices validos de los arrays son 0 .. N-1 otra corrección que se debe hacer a la función es cambiar la condición del bucle: for (i = 1; i < n; i++) if (max < V[i]){ max = V[i]; pos = i; }
También se puede eliminar la variable "max", en su lugar para obtener el máximo basta con utilizar "V[pos]" pero si ello esta permitido depende del enunciado. Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
eterno21
Desconectado
Mensajes: 10
|
Hola, es verdad lo de la condicion, lo voy a cambiar, gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ejercicio] Aca tienen un ejercicio para practicar
« 1 2 3 »
Programación Visual Basic
|
Dreamaker
|
20
|
16,648
|
5 Septiembre 2010, 02:57 am
por TGa.
|
|
|
ejercicio conclase pag 70 ejercicio 1
Programación C/C++
|
flony
|
2
|
4,594
|
17 Octubre 2010, 12:16 pm
por Akai
|
|
|
Ayuda con Ejercicio de vector! ;_;
Programación C/C++
|
Onigiri
|
7
|
3,536
|
25 Octubre 2012, 17:39 pm
por naderST
|
|
|
Ejercicio en C ayuda struct,tabla,vector datos
Programación C/C++
|
banguu
|
2
|
2,806
|
10 Noviembre 2015, 01:09 am
por banguu
|
|
|
ayuda con este ejercicio [VECTOR]
Programación C/C++
|
DAOST420
|
1
|
2,781
|
16 Octubre 2020, 00:10 am
por K-YreX
|
|