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:
Citarvoid 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.
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.
Enterado, muchas gracias.
No creo que te funcione. Mira a ver ahora.
include <stdio.h>
#include <stdlib.h>
/*
Eliminar elementos basura de un array en C
« en: 30 Enero 2017, 18:46 »
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:
*/
void funcion(int v[],int tam){
int max=0,i,j,acumulador=0;
int nro_orden[]={0, 0, 0, 0, 0, 0};
for(i=0;i<tam;i++){
nro_orden[i]=0;
}
for(i=0;i<tam;i++){
if(v[i]>max){
max=v[i]; //establecemos el maximo
}
}
for(i=0;i<tam;i++){
if(v[i]==max){
acumulador++; //contamos la cantidad de veces que aparece el maximo
}
}
i=0;
j=0;
while(i<tam){
if(max==v[i]){
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: ");
for(i=0;i<tam;i++){
if (nro_orden[i]) printf("[%d] ", nro_orden[i]);
}
}
int main() {
int vector[]={2, 9, 8, 4, 9, 5};
funcion(vector, 6);
return 0;
}
[ /code]