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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Eliminar elementos basura de un array en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Eliminar elementos basura de un array en C  (Leído 3,313 veces)
RuloVerde

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Eliminar elementos basura de un array en C
« en: 30 Enero 2017, 18:46 pm »

Hola, hace mucho que no entro en esta web y me da gusto volver a formar parte de esta comunidad. Bueno, dicho esto, expreso mi inquietud. Tengo una función que lo que tiene que hacer es "Emitir el valor máximo e indicar la cantidad de veces que apareció y el número de orden en que fue ingresado."
He aquí el código:

Citar
void funcion(int v[],int tam){
    int max=0,i,j,acumulador=0,nro_orden[tam];

    for(i=0;i<tam;i++){
        if(v>max){
          max=v;         //establecemos el maximo
        }
    }

    for(i=0;i<tam;i++){
        if(v==max){
          acumulador++;     //contamos la cantidad de veces que aparece el maximo
        }
    }

    i=0;
    j=0;
    while(i<tam){
         if(max==v){
            nro_orden[j]=i+1;
            j++;
         }
         i++;
    }

    printf("\nEl valor maximo es: %d",max);
    printf("\nLa cantidad de veces que aparecio el maximo es: %d",acumulador);

    printf("\nEl numero de orden en que fue ingresado es: ");
    i=0;
    for(;i<tam;i++){
       printf("[%d] ",nro_orden);
    }
}


Mi duda es que el vector "nro_orden" a pesar de que imprime correctamente los órdenes, también lo hace con los elementos basura. Entonces, quiero saber como no imprimirlos o eliminarlos directamente para poder visualizarlo con mayor claridad. Alguna idea o sugerencia??
Gracias de antemano y espero poder ser un miembro útil en esta comunidad y aprovecharla al máximo!

PD: Veo que en la "Previsualización" de esta publicación donde aparece "v" debería ser "v sub i" y no me deja arreglarlo. Quería aclararlo.


« Última modificación: 30 Enero 2017, 18:51 pm por RuloVerde » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.481



Ver Perfil
Re: Eliminar elementos basura de un array en C
« Respuesta #1 en: 30 Enero 2017, 20:18 pm »

No debes citar tu código, debes ir a Código GeSHi y buscar el lenguaje en que está. El editor creará unas etiquetas y tu código debe ir en medio de ellas.


En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
RuloVerde

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Eliminar elementos basura de un array en C
« Respuesta #2 en: 3 Febrero 2017, 21:25 pm »

Enterado, muchas gracias.
En línea

lfgmespino

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Eliminar elementos basura de un array en C
« Respuesta #3 en: 4 Febrero 2017, 23:53 pm »

No creo que te funcione. Mira a ver ahora.

Código
  1.    include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /*
  5. Eliminar elementos basura de un array en C
  6. « en: 30 Enero 2017, 18:46 »
  7. Hola, hace mucho que no entro en esta web y me da gusto volver a formar parte de esta comunidad. Bueno, dicho esto, expreso mi inquietud. Tengo una función que lo que tiene que hacer es "Emitir el valor máximo e indicar la cantidad de veces que apareció y el número de orden en que fue ingresado."
  8. He aquí el código:
  9. */
  10.  
  11. void funcion(int v[],int tam){
  12.    int max=0,i,j,acumulador=0;
  13.    int nro_orden[]={0, 0, 0, 0, 0, 0};
  14.  
  15.  
  16.    for(i=0;i<tam;i++){
  17.     nro_orden[i]=0;
  18.        }
  19.  
  20.    for(i=0;i<tam;i++){
  21.        if(v[i]>max){
  22.          max=v[i];         //establecemos el maximo
  23.        }
  24.    }
  25.  
  26.    for(i=0;i<tam;i++){
  27.        if(v[i]==max){
  28.          acumulador++;     //contamos la cantidad de veces que aparece el maximo
  29.        }
  30.    }
  31.  
  32.    i=0;
  33.    j=0;
  34.    while(i<tam){
  35.         if(max==v[i]){
  36.            nro_orden[j]=i+1;
  37.            j++;
  38.         }
  39.         i++;
  40.  
  41.    }
  42.  
  43.    printf("\nEl valor maximo es: %d",max);
  44.    printf("\nLa cantidad de veces que aparecio el maximo es: %d",acumulador);
  45.  
  46.    printf("\nEl numero de orden en que fue ingresado es: ");
  47.  
  48.    for(i=0;i<tam;i++){
  49.       if (nro_orden[i]) printf("[%d] ", nro_orden[i]);
  50.    }
  51. }
  52.  
  53. int main() {
  54. int vector[]={2, 9, 8, 4, 9, 5};
  55. funcion(vector, 6);
  56.  
  57. return 0;
  58. }
  59. [ /code]
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Puntero a elementos de array
Programación C/C++
Riki_89D 2 1,622 Último mensaje 26 Mayo 2010, 21:32 pm
por 08l00D
Eliminar Elementos repetidos en un array
Programación C/C++
maikelowen 6 5,135 Último mensaje 8 Enero 2015, 10:21 am
por Orubatosu
Eliminar las posiciones pares de un array y comprimir el array
Java
sevedeboa 8 10,485 Último mensaje 26 Enero 2015, 15:52 pm
por sevedeboa
Array elementos repetidos
Programación C/C++
LGG 1 1,511 Último mensaje 5 Mayo 2015, 17:32 pm
por eferion
Eliminar elementos repetidos en un Array
.NET (C#, VB.NET, ASP)
okik 2 5,252 Último mensaje 23 Junio 2015, 03:16 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines