Advertisement
seergiomv

Ordenar letras random y frecuencia de la que mas se repite

Jan 10th, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.46 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define N 100
  5. void letras_random(char a[N]);
  6. void ordenar_letras(char a[N]);
  7. void frecuencia(char a[N]);
  8. int main(){
  9.     char texto[N];
  10.     letras_random(texto);
  11.     for (int i = 0; i < N; i++){
  12.         printf("%c\t",texto[i]);
  13.     } printf("\n");
  14.     ordenar_letras(texto);
  15.     for (int i = 0; i < N; i++){
  16.         printf("%c\t",texto[i]);
  17.     } printf("\n");
  18.     frecuencia(texto);
  19. }
  20. void letras_random(char a[N]){
  21.     for (int i = 0; i < N; i++){
  22.         a[i] = 'a' + rand() % ('z'-'a');
  23.     }
  24. }
  25. void ordenar_letras(char a[N]){
  26.     int aux= 0;
  27.     for (int i = 1; i < N; i++){
  28.         for (int j = 0; j < N-1; j++){
  29.             if (a[j] > a[j+1]){
  30.                 aux = a[j];
  31.                 a[j] = a[j+1];
  32.                 a[j+1] = aux;
  33.             }
  34.         }
  35.     }
  36. }
  37. void frecuencia(char a[N]){
  38.     int contador = 0,contador2 = 0;
  39.     char x;
  40.     int size = strlen(a);
  41.     float frecuency;
  42.     for (int i = 0; i < N; i++){
  43.         for (int j = 0; j < N; j++){
  44.             if(a[i] == a[j]){
  45.                 contador++;
  46.                 if(contador > contador2){
  47.                     contador2 = contador;
  48.                     x = a[i];
  49.                 }
  50.             }
  51.         } contador = 0;
  52.     }
  53.     frecuency = (float) contador2 / size; //o en vez de size N//
  54.     printf("La letra que mas se repite es %c un total de %d veces con una frecuencia de %f",x,contador2,frecuency);
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement