elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Valores repetidos en un arreglo en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Valores repetidos en un arreglo en C  (Leído 4,698 veces)
RGT

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Valores repetidos en un arreglo en C
« en: 31 Marzo 2015, 00:37 am »

Ejemplo: Si el arreglo original es 8 4 8 5 4, entonces el arreglo se transformará a: 8 4 -1 5 -1 y se devolverá como cantidad de
repeticiones 2.

Código
  1. //Declaración de variables
  2.    int liN, liContador, laiArreglo[10];
  3.  
  4.    //Entrada de datos
  5.    do
  6.    {
  7.        printf("Cantidad de componentes del arreglo: ");
  8.        scanf("%d", &liN);
  9.  
  10.        if (liN <= 0)
  11.            printf("\n\tError!, debe ingresar un valor mayor que 0.\n\n");
  12.    } while (liN <= 0);
  13.  
  14.    for (liContador = 0; liContador < liN; liContador++)
  15.    {
  16.        do
  17.        {
  18.            printf("Valor #%d: ", liContador + 1);
  19.            scanf("%d", &laiArreglo[liContador]);
  20.  
  21.            if (laiArreglo[liContador] < 0)
  22.                printf("\n\tError!, debe ingresar un valor mayor que 0.\n\n");
  23.        } while (laiArreglo[liContador] < 0);
  24.    }
  25.  
  26.    //Procesamiento
  27.    int liContador1, liContador2;
  28.  
  29.    for (liContador1 = 0; liContador1 < liN - 1; liContador1++)
  30.    {
  31.        for (liContador2 = liContador1 + 1; liContador2 < liN; liContador2++)
  32.        {
  33.            if (laiArreglo[liContador2] == laiArreglo[liContador1])
  34.                laiArreglo[liContador2] = -1;
  35.        }
  36.    }
  37.  
  38. //Salida de datos
  39.    printf("\nResultado: ");
  40.  
  41.    for (liContador = 0; liContador < liN; liContador++)
  42.    {
  43.        printf("%d", laiArreglo[liContador]);
  44.  
  45.        if (liContador < liN - 1)
  46.            printf(", ");
  47.    }
  48.  



Como pueden ver, no logro hacerlo, estoy vuelto loco y ya no se que hacer :(

Mod: Código resaltado con etiquetas GeSHi para que sea más visible


« Última modificación: 31 Marzo 2015, 00:42 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Valores repetidos en un arreglo en C
« Respuesta #1 en: 31 Marzo 2015, 00:47 am »

no entiendo que es lo que no funciona? lo veo bien hecho y sin errores (más allá de hacer un arreglo fijo y "limitarlo" por variable)



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
RGT

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: Valores repetidos en un arreglo en C
« Respuesta #2 en: 31 Marzo 2015, 03:55 am »

Hola.

Asumiendo que ingresamos estos datos: 8 4 8 5 4, el resultado debe ser 8 4 -1 5 -1.
O sea, si se encuentra un valor repetido, se le reemplaza por -1.

8 4 8 5 4
8 4 -1 5 -1

y mi código no lo hace, algo estoy haciendo mal.
No sé que modificaciones hacerle, estoy en blanco, podrias ayudarme?.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Valores repetidos en un arreglo en C
« Respuesta #3 en: 31 Marzo 2015, 04:10 am »

a mi me funciona así sin ningún cambio :s

creo que deberías hacer tu la prueba de nuevo



en tu imagen pusiste 8, 4, 5, 8, 4 y el resultado fue 8, 4, 5, -1, -1 que está bien
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
cantidad de repetidos en Arreglo
Programación C/C++
janus_gf 0 5,570 Último mensaje 21 Febrero 2011, 10:13 am
por janus_gf
Contar valores repetidos en una columna
Bases de Datos
A2Corp 7 8,366 Último mensaje 12 Abril 2012, 17:19 pm
por HdM
[Duda] Valores Repetidos en array
Java
Slider324 2 5,303 Último mensaje 24 Julio 2012, 15:02 pm
por luiggy2
Sumar valores repetidos en dos tablas
Bases de Datos
mapers 1 3,430 Último mensaje 9 Marzo 2014, 21:33 pm
por ~ Yoya ~
Duda - Como eliminar numeros repetidos de un arreglo en C?
Programación C/C++
palacio29 9 23,824 Último mensaje 30 Agosto 2019, 23:52 pm
por KrishCM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines