histograma en c ayuda

Dudas sobre el C/C++ en general
Responder
Mensaje
Autor
Pre503001
Mensajes: 6
Registrado: 20/07/2019 12:28 pm

histograma en c ayuda

#1 Mensaje por Pre503001 » 30/07/2019 7:17 am

:(
Escribir un programa que lea un número de enteros entre 1 y 100 del teclado y genere un histograma con las frecuencias de cada entero en la secuencia. Para representar las barras del histograma utilizar secuencias del carácter ‘*’.

Por ejemplo, la secuencia: 1, 1, 20, 1, 2, 20, 3, 3, 3,4,4,4,33,3 generaría la siguiente salida:
1:
2:
3: **
4: *
20:
33:*

Pre503001
Mensajes: 6
Registrado: 20/07/2019 12:28 pm

Re: histograma en c ayuda

#2 Mensaje por Pre503001 » 30/07/2019 7:24 am

Código: Seleccionar todo

#include <string.h>

#include <stdio.h>

int main(){
 char cadena[256];
 char letra;
int i;
int j;
 printf("Introduce un numero:\t");
 gets(cadena);
 int tamano=strlen(cadena);
 for( i=0; i<tamano; i++){
  cadena[i]=tolower(cadena[i]);
}

 printf("¿Que numero?");
 scanf("%c", &letra);
 int count=0;
 for(j=0; j<tamano; j++){
  if(cadena[j] == letra) count++;
}
 printf("el numero aparece %d veces", count);
 return 0;



}
llevo eso pero no se como puedo hacer para poner los asteriscos, por ejemplo si escribo el 1 dos veces, el 3 cuatro veces y el 4 tres veces tienes que salir dos asteriscos para el uno, cuatro para el 3 y 3 para el 4
Última edición por mollok el 30/07/2019 7:26 am, editado 1 vez en total.
Razón: Los códigos deben ir entre etiquetas 'code', botón </>

mollok
Mensajes: 492
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: histograma en c ayuda

#3 Mensaje por mollok » 30/07/2019 7:37 am

Puedes hacer dos cosas:
1. Preparas una estructura en la que puedas introducir el número y las veces que sale y haces un array de estas estructuras.
2. Montas dos estructuras, en una pones el número y en la otra las veces que ha salido. Muy importante que los índices del número en una y de las apariciones de la otra coincidan

En el programa vas pidiendo números, por cada uno que te introduzcan miras si existe en el array. Si existe actualizas su número de apariciones. Si no existe lo añades al final.

Una vez introducidos todos los datos vuelves a recorrer los arrays e muestras el número y con asteriscos las veces que ha aparecido.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

Pre503001
Mensajes: 6
Registrado: 20/07/2019 12:28 pm

Re: histograma en c ayuda

#4 Mensaje por Pre503001 » 30/07/2019 7:51 am

como se puede hacer eso

mollok
Mensajes: 492
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: histograma en c ayuda

#5 Mensaje por mollok » 30/07/2019 7:55 am

Sabes usar arrays?
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados