Foros del Web » Programación para mayores de 30 ;) » C/C++ »

saber cuantas veces se repite un numero

Estas en el tema de saber cuantas veces se repite un numero en el foro de C/C++ en Foros del Web. hola amigos, espero que puedan ayudarme, es q resulta que estoy haciendo un programa que consiste en obtener la media ponderada, y para ello necesito ...
  #1 (permalink)  
Antiguo 03/04/2012, 22:21
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cartago
Mensajes: 39
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta saber cuantas veces se repite un numero

hola amigos, espero que puedan ayudarme, es q resulta que estoy haciendo un programa que consiste en obtener la media ponderada, y para ello necesito obtener la frecuencia, que consiste en si tengo en un vector 3,5,7,5,3,3 la frecuencia seria las repeticiones por ejemplo el 3 se repite 3 veces, el 5 se repite 2veces, el 7 se repite una vez, y asi sucesivamente lo que sucede es que a la hora de imprimir y obtener resultados si un numero se repite lo imprime las veces que se repite y para lo que quiero llegar eso no me sirve, y he intentado pero no logro hacer que las cosas mejores jaja agradezco cualquier ayuda y esto es lo que llevo hasta el momento gracias.

Cita:
#include <stdio.h>
#include <iostream>
#define MAX 13
int main()
{
int vector[MAX] = {0,0,2,3,5,5,5,6,8,9,10,10,11};
int contador[MAX] = {};
int i,j;
for(i=0;i<MAX;i++)
{
for(j=0;j<MAX;j++)
{
if (vector[i]==vector[j])
contador[i]++;

}
printf("El numero %d se repite %d veces\n",vector[i],contador[i]);

}
system("PAUSE");
}
  #2 (permalink)  
Antiguo 03/04/2012, 22:41
Avatar de cristian_qc  
Fecha de Ingreso: abril-2011
Mensajes: 43
Antigüedad: 13 años
Puntos: 8
Respuesta: saber cuantas veces se repite un numero

Tenés diferentes opciones:
- Podés hacer una matriz de MAX filas por 2 columnas. En la primer columna ponés el número y en la segunda la cantidad de veces que se repite.
- Podés hacer un nuevo vector donde no se repitan los números y otro vector donde almacenás las cantidades. Es casi lo mismo que el punto anterior.
- Podés usar estructuras/clases ( para mi la mejor opción ). Por ejemplo:
Código C:
Ver original
  1. struct elemento{
  2.     int numero;
  3.     int cantidad;
  4. };
Luego hacés el vector:
Código C:
Ver original
  1. elemento vector[MAX];
Le asignás los números, usás el mismo ciclo y le asignás la cantidad de veces que se repiten.

- Etc. Todo depende de la complejidad que quieras darle luego.
  #3 (permalink)  
Antiguo 04/04/2012, 08:48
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cartago
Mensajes: 39
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: saber cuantas veces se repite un numero

Gracias Cristian, por responder por si a alguien le sirve en algun momento aqui dejo el programa

Cita:
#include <stdio.h>
#include <iostream>
#define MAX 13
int main()
{
int vector[MAX] = {0,0,2,3,5,5,5,6,8,9,10,10,11};
int contador[MAX] = {};
int rep[MAX] = {};
int total[MAX] = {};


int i,j,k=0;
for(i=0;i<MAX;i++)
{
for(j=0;j<MAX;j++)
{

if (vector[i]==vector[j])

contador[i]++;
}
printf("El numero %d se repite %d veces\n",vector[i],contador[i]);
}

for(i=0;i<MAX;i++)
{
if(vector[i] != vector[i-1])
{
printf("%d,%d\n",vector[i],contador[i]);
rep[k] = vector[i];
total[k] = contador[i];
k++;
}
}
//
printf("\n\n");
for(i=0;i<k;i++)
{
printf("el numero %d, se repite %d veces\n",rep[i],total[i]);
}
printf("\n");
system("PAUSE");
}

Etiquetas: numeros, repeticiones, arreglos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:39.