[ Foro de C ]

Problema con vectores

18-Nov-2022 19:48
Invitado (Santiago)
1 Respuestas

tengo este codigo que es para indentificarcuando se coloca un numero repetido en un vector, pero no me funciona, soy nuevo en c y no se donde esta la falla

int v [VALOR];

int filtroD (int a)
{
int i, c;
 for (i = 1; i < VALOR; i++) {
   if (v[a] == v[i]) {
     c=-1;
   }
   i++;
 }
 return (c);
}


22-Nov-2022 20:43
Invitado (abel)

hola santiago

- te falta definir VALOR y una función principal que use tu filtro
- como errores tienes a 'c' que si 'a' no esta en el vector, 'c' no tiene un valor definido
- todos los arrays empiezan desde el cero, por lo que hay un valor del vector que no compruebas
- incrementas la 'i' dentro del bucle ERROR (ya lo haces en el bloque for)
- cuando detectas que esta repetido deberías romper el bucle con break, si son 10 valores pasa, pero podrían ser millones de valores a comprobar
- a la función deberías enviarle los datos que necesita y no usar variables globales, están mal vistas ya que se pueden modificar en cualquier lugar, dificultan el seguimiento del flujo del programa y cargan el espacio de nombres

te paso un ej de una función parecida:
https://www.online-ide.com/gnvP0bU2IB

suerte ;-)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)