<div dir="ltr">Hola Ali,<div class="gmail_extra"><br><div class="gmail_quote">2014-06-04 21:46 GMT-04:00 Ali Rincon <span dir="ltr"><<a href="mailto:alrincon1963@hotmail.com" target="_blank">alrincon1963@hotmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hola a todos. Tengo un problema con el siguiente código el cual saca los elementos repetidos de un  vector introducido por teclado. El asunto es que cuando le introduzco la secuencia de números: 0 8 9 10 11 12 13 14 36 37, me dice que se repite 1 numero y me muestra el vector final sin el numero 8. Con otra combinaciones que comiencen por 0 (sin repetir ningún numero) me dice nuevamente que se repite 1 numero y me saca el 0 del vector final. No veo donde puede estar el error que estoy cometiendo. Si alguien me pudiera ayudar, le agradecería altamente. El código es el siguiente:<br>

<br></blockquote><div><br></div><div>Veamos el código fuente.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

#include <stdio.h><br>
<br>
int main(void)<br>
{<br>
</blockquote><div><br></div><div>[CORTE]</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

    repetidos=0;<br>
    for (i=0; i<10; i++)<br>
    {<br>
        cont=0;<br>
        num=v_original[i];<br>
        v_aux[j]=num;<br>
        j++;<br>
        for(k=0; k<10; k++)<br>
        {<br>
            if (v_aux[k]==num )<br></blockquote><div><br></div><div>Al comienzo, esto va a ser problemático porque 'v_aux' no contiene valores deseados, excepto el primero, pero este bucle recorre todos los elementos del array, aunque contengan basura. Esto implica un comportamiento aleatorio y seguramente indeseado.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
                cont++;<br>
        }<br>
        if(cont==1)<br>
        {<br>
            v_final[z]=num;<br>
            z++;<br>
        }<br>
        else<br>
        {<br>
            repetidos++;<br>
        }<br></blockquote><div><br></div><div>José te ha comentado los problemas de esta sentencia 'if/else'.</div><div><br></div><div><br></div><div>Aconsejo rediseñar la lógica de este programa. Si no puedes cambiar el orden de los valores en el array, entonces tienes que comprobar cada valor con cada otro valor; o sea, una búsqueda exhaustiva. Por ejemplo,</div>
<div><br></div><div>0 comparado con,</div><div>8 9 10 11 12 13 14 36 37<br></div><div><br></div><div>si no hay repetidos, entonces pasamos al siguiente elemento:<br><br><div>8 comparado con,</div><div>9 10 11 12 13 14 36 37<br>
</div><div><br></div><div>y así sucesivamente.</div><div><br></div><div><br></div>Espero que esto te oriente.</div><div><br></div><div>Steven</div><div><br></div></div></div></div>