J'essaye actuellement d'écrire une fonction qui va vérifier combien de mots palindroms sont dans une chaîne donnée et retourner ce nombre à main. Mon approche était de vérifier la longueur d'une chaîne et de la copier dans une autre à l'envers, puis de comparer les deux. Tout en vérifiant à chaque fois que j'atteins un espace videString palindrom check
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int palindrom(char str1[81]);
int main(){
char str[81];
gets(str);
printf("%d pali\n", palindrom(str));
}
int palindrom(char str[81]) {
int i, j=0, k = 0, pali_count = 0, length = 0, flag=0;
char rev[81], c;
for (i = 0; str[i] != '\0'; i++){}//getting the string length
while (i >= 0) {//revrsing the string
rev[j++] = str[--i];
}
rev[j-1] = '\0';
printf("%s", rev);
length = j - 2;
k = length;
j = 0;
while (k >= 0) {
k--;
j++;
c = rev[k];
if (rev[k] != str[j])
flag++;
if (c == ' ') {
if (flag == 0)
pali_count++;
flag = 0;
continue;
}
return pali_count;
}
return 0;
}
et quelle est la question/problème? – Derlin
ok mais quelle est la question, ou où est le problème –
Je suppose qu'il ne reçoit pas le bon nombre de palindrome. –