This commit is contained in:
2026-02-02 03:36:21 +01:00
parent 2ae8d93f16
commit 6841949095
7 changed files with 365 additions and 23 deletions
@@ -0,0 +1,76 @@
#include <stdio.h>
#include <stdlib.h>
//###############################
// ATTENTION CE CODE EST MOCHE #
//###############################
char most_frequent(const char *str){
//max
//temp max
//
//lettre
//temp lettre
//index
//index_clc
char *cha = malloc(2 * sizeof(char));
//{ lettre, temp}
if (cha == NULL) return 0;
*cha = 0; // lettre
*(cha + 1) = 0; //lettre pendant le clc
int *values = malloc (4 * sizeof(int));
if(values == NULL) return 0 ;
//{ max, temp max, index, index_clc}
*values = 0; // Maximum
*(values + 1) = 0; // Max temporaire
*(values + 2) = 0; // Index de la chaine
*(values + 3) = 0; // Index de calcul
//deplacement (index de la chaine)
while (*(str + *(values + 2)) != '\0'){
*(cha + 1) = *(str + *(values + 2)); //Traitement de la lettre à l'index x
*(values + 1) = 0; // RESET du max de clc
*(values + 3) = 0; // RESET de l'index de clc
//calcul pas du tt opti mais bon
while (*(str + *(values + 3)) != '\0'){
//si la lettre en traitment est la mm que celle rencontree
if (*(cha + 1) == *(str + *(values + 3))) {
(*(values + 1)) ++;
}
(*(values + 3)) ++;
}
if (*values < *(values + 1)) {
*values = *(values + 1); // temp -> max
*cha = *(cha + 1);
}
(*(values + 2)) ++;
}
free(values);
return *cha;
}
/*
int main () {
char test = most_frequent("WRYYYY!1!"); // 'Y'
printf("%c\n", test);
test = most_frequent("ORA ORA ORA!"); // 'O'
printf("%c\n",test);
test = most_frequent("hello warudo!"); // 'l'
printf("%c\n", test);
most_frequent("oRA ora oRa?"); // 'o'
}*/