Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: anonimo115 en 2 Febrero 2017, 14:11 PM

Título: Duda con ejercicio de programacion (c++)
Publicado por: anonimo115 en 2 Febrero 2017, 14:11 PM
He intentado este ejercicio pero es que no hay manera.
Si alguien puede ayudarme se lo agradezco

(http://i68.tinypic.com/fnwxh4.png)

Este es el codigo

https://hastebin.com/uyiriwohat.cpp (https://hastebin.com/uyiriwohat.cpp)
Título: Re: Duda con ejercicio de programacion (c++)
Publicado por: ivancea96 en 2 Febrero 2017, 16:27 PM
Solo tiene 2 detalles con 2 condiciones:

1) Línea 31:
Código (cpp) [Seleccionar]
for(unsigned cont=cont2+1;cont<(vect.num_elem)-1;cont++)
Tiene que llegar hasta el final. cont < num_elem - 1 no llega hasta el último, sinó hasta el penúltimo. 2 opciones: o cambiar "<" por "<=" o, mejor, poner cont < vect.num_elem

2) Línea 39:
Código (cpp) [Seleccionar]
while((cont<vect.num_elem-2)&&!existe)
Nuevamente, lo mismo. cont < num_elem - 2 no llega ahsta el penúltimo, sinó hasta el antepenúltimo. Nuevamente, las mismas 2 opciones de antes: o cambiar "<" por "<=", o poner "num_elem-1". Recomiendo el segundo.

Sobre este tema, tras ver el código, te recomendaría "normalizar" tu forma d eponer condiciones.

Código (cpp) [Seleccionar]
for(int cont=0;cont<=(cont2)-1;cont++)

for(unsigned cont=cont2+1;cont<(vect.num_elem);cont++)

¿Por qué uno <= y el otro <? Eso es lo que dbeerías normalizar.