Tema: Problema C++
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/12/2013, 06:44
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 12 años, 1 mes
Puntos: 83
Respuesta: Problema C++

Un par de observaciones, no se si esto que digo será correcto:

Código C++:
Ver original
  1. for(int i; i<tamArreglo; i++)

Si no inicias 'i', con que valor comienza en bucle? Siempre iniciará en 0? Lo mismo para el bucle interno y la 'j'; si no aseguras que 'i' o 'j' sea un valor del rango del array te puede provocar una violacion de segmento.

Otra cosa, estas haciendo mas comprovaciones de las necesarias; en cambio con lo que comenté siempre te aseguras de no recomparar lo que ya te resultó diferente. Pongamos el caso del siguiente array {0, 0}, cuando lo envio a tu algoritmo:

Código C:
Ver original
  1. entre 0 y 2
  2.     entre 0 y 2
  3.         [0] == [0] ? no
  4.         [0] == [1] ? si, retorna true con 2 comprovaciones

Ahora con el otro algoritmo:

Código C:
Ver original
  1. entre 0 y 2-1
  2.     entre (valor anterior) y 2
  3.         [0] == [0+1] ? si, retorna true con 1 comprovacion

En tu algoritmo en el caso menos favorable (cuando todos son diferentes) se hacen tamArreglo*tamArreglo comprovaciones, si es de 5 se hacen 5x5 comprovaciones; de la otra forma se hacen (5-1)+(5-2)...(5-5).

Una ultima cosa, todo esto no lo he comentado para incordiar :)) Creo que @Levgms al ser el interesado deberia pronunciarse un poco.

Saludos
vosk