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

Imágen de perfil
Val: 101
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Eliminar Duplicados en un Vectorgráfica de visualizaciones


C/Visual C

Publicado el 7 de Octubre del 2016 por Dionicio (3 códigos)
6.143 visualizaciones desde el 7 de Octubre del 2016
El código es simple, elimina elementos repetidos en vector de enteros.

1.0

Actualizado el 11 de Octubre del 2016 (Publicado el 7 de Octubre del 2016)gráfica de visualizaciones de la versión: 1.0
6.145 visualizaciones desde el 7 de Octubre del 2016
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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3695