Código de C/Visual C - Eliminar Duplicados en un Vector

Imágen de perfil

Eliminar Duplicados en un Vectorgráfica de visualizaciones


C/Visual C

Actualizado el 08 de Octubre del 2016 por Dionicio (Publicado el 07 de Octubre del 2016)
611 visualizaciones desde el 07 de Octubre del 2016. Una media de 14 por semana
El código es simple, elimina elementos repetidos en vector de enteros.

1.0

Actualizado el 11 de Octubre del 2016 (Publicado el 07 de Octubre del 2016)gráfica de visualizaciones de la versión: 1.0
612 visualizaciones desde el 07 de Octubre del 2016. Una media de 14 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
 
 
int main()
{
	int i,j,k;
	int vec[] = {1,2,3,4,5,5,6};
	int tam = 7;
 
	printf("Vector inicial: ");
	//Mostrar  vector inicial
	for(i = 0; i < tam; i++)
	{
		printf("%i, ",vec[i]);
	}
 
	//Código que elimina los elementos repetidos
	for(i = 0; i < tam; i++)
	{
		for(j = i+1; j < tam; j++)
		{
			if(vec[i] == vec[j])
			{
 
				k = j;
 
				while(k < tam)//Mientras k sea menor que la cantidad de elementos
				{
					vec[k] = vec[k+1];//Copiará el elemento siguiente, 
 
					//Ejemplo en posición 1 copiará el valor de la posición la dos, y en la dos la tres y así sucesivamente.
 
					++k;//Aumentamos el contador k en 1
				}
 
				--tam;//Disminuimos el tamaño del vector ya que se eliminaron elementos repetidos.
				--j;
 
				/* --j
				 * 
				 * Disminuimos  el valor de j para verificar si el elemento que se copió ahí es igual al anterior.
				 * 
				 * Ejemplo: vec[] ={1,2,2,3,4}
				 * 
				 * Cuando llegue a la  comparación 2==2 moverá el 3 a la posición del 2 repetido, si no disminuimos
				 * el contador en la próxima comparación comparará 2 == 4, y no con el 3, porque si 3 hubiese
				 * sido otro 2 lo saltaría y no lo eliminaría.
				 * */
 
			}//Fin del if
 
		}//Fin del bucle for con j
 
	}//Fin del bucle for con i
 
	printf("\nVector final: ");
	//Mostrar  vector final
	for(i = 0; i < tam; i++)
	{
		printf("%i, ",vec[i]);
	}
 
 
 
	return 0;
}



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3695