Foro de elhacker.net

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
  1. 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
  1. 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
  1. for(int cont=0;cont<=(cont2)-1;cont++)
  2.  
  3. for(unsigned cont=cont2+1;cont<(vect.num_elem);cont++)
¿Por qué uno <= y el otro <? Eso es lo que dbeerías normalizar.