C/Visual C - Algoritmo para contar las veces que se repite un numero en un arreglo

 
Vista:

Algoritmo para contar las veces que se repite un numero en un arreglo

Publicado por Laom (1 intervención) el 25/11/2016 22:09:53
Hola me gustaría saber si me pueden ayudar con un algoritmo que me dejaron de tarea es en C.

Bien el algoritmo dice:

Contar las veces que se repite un numero en un arreglo.

Es decir Si digito 5 numeros: 2,3,4,3,4 al final me tiene que pedir que numero quiere saber cuantas veces se repite? y si digitas 3 te dira el numero 3 se repite 3 veces.

Se que es con un for para digitar los numeros en el arreglo y otra ves con un for para contar.

Pero no se como hacerlo, si quieren mando como lo tengo. pero lo tengo malisimo porque me cuesta usar los arreglos.

Gracias.

En visto de que se que aquí no se hacen tareas dejo mi codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
 
main(){
	int arreglo [10],i,n,contador;
	contador=0;
 
	for (i=0;i<10;i++){
		printf("\nDigite el %d numero de la lista: ",i);
		scanf("%d",&arreglo[i]);
	}
	printf("Digite el numero que quiere saber cuantas veces se repite: ");
	scanf("%d",n);
	for (i=0;i<10;i++){
		if (n==arreglo[i]){
			contador++;
		}
	}
	printf("El elemento %d, se repite %d",n,contador);
	system("Pause");
 
	}

Bien el problema aqui es que al compilarlo con DevC++ me manda un mensaje que dice que el programa dejo de funcionar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Algoritmo para contar las veces que se repite un numero en un arreglo

Publicado por Diego (150 intervenciones) el 26/11/2016 00:42:36
Te recomiendo usar el botón "Insertar código" ya que así se conservará la indentación que hayas hecho.

Noté que cuando intentas usar scanf con la variable n no usas el &.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
 
int main(){
	int arreglo [10],i,n,contador;
	contador=0;
 
	for (i=0; i<10; i++){
		printf("\nDigite el %d numero de la lista: ",i);
		scanf("%d",&arreglo[i]);
	}
	printf("Digite el numero que quiere saber cuantas veces se repite: ");
	scanf("%d",&n);
	for (i=0; i<10; i++){
		if (n == arreglo[i]){
			contador++;
		}
	}
	printf("El elemento %d, se repite %d",n,contador);
	return EXIT_SUCCESS;
}

Como podrás ver, cambié la linea 13 haciendo que lo leido se guarde en la dirección de la variable n.

https://es.wikipedia.org/wiki/Scanf
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Algoritmo para contar las veces que se repite un numero en un arreglo

Publicado por SrRodez (1 intervención) el 21/01/2022 16:19:48
Lo he mejorado añadiendole que puedes introducir el tamaño que quieras.
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
#include <stdio.h>
#include <stdlib.h>
#define R 1000
 
int main(){
	int arreglo[R];
	int dim,i,n,contador;
 
	contador=0;
 
 	printf("Introduzca nº de vectores: ");
 	scanf("%d",&dim);
 
 
	for (i=0; i<dim; i++){
		printf("\nDigite el %d numero de la lista: ",i+1);
		scanf("%d",&arreglo[i]);
	}
 
	printf("\nDigite el numero que quiere saber cuantas veces se repite: ");
	scanf("%d",&n);
 
	for (i=0; i<dim; i++){
		if (n == arreglo[i]){
			contador++;
		}
	}
 
	printf("\n--------------------------------\n");
 
	printf("El elemento %d, se repite %d veces",n,contador);
	return EXIT_SUCCESS;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de cris

Algoritmo para contar las veces que se repite un numero en un arreglo

Publicado por cris (2 intervenciones) el 03/11/2022 19:26:40
Te dejo un ejemplo, muy parecido resuelto usando while :)

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
#include <stdio.h>
   2 #include <stdlib.h>
   3 #define N 100
   4
   5 int main(){
   6     int array[N];
   7     int i, cnt = 0, size, l, numero = 0;
   8
   9     printf("Numero de elementos del vector: ");
  10     scanf("%d", &size);
  11
  12     for(i=0; i<size;i++){
  13         printf("ingrese los elementos:");
  14         scanf("%d", &array[i]);
  15     }
  16     printf("ingrese el numero que quiere contar:");
  17     scanf("%d", &numero);
  18
  19     l=0;
  20     while(l < size){
  21         if(array[l] == numero){
  22             cnt++;
  23         }
  24         l++;
  25     }
  26     printf("veces que aparece el numero = %d\n", cnt);
  27 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar