fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6. #define bool short
  7. #define true 1
  8. #define false 0
  9. #define equals(a, b) (((strcmp(a, b) == 0 ) ? true : false))
  10. #define NUMENTRADA 1000
  11. #define TAMLINHA 1000
  12.  
  13.  
  14. bool isFim (char* s){
  15.  
  16. return (strlen(s) >= 3 && s[0] == 'F' && s[1] == 'I' && s[2] == 'M');
  17.  
  18. }
  19.  
  20.  
  21. bool isPalindromo(char* s){
  22.  
  23. int meio = strlen(s)/2;
  24. int indc = strlen(s) - 1;
  25.  
  26. bool resp = true;
  27.  
  28. // printf("\nresp ==>> %d \n", resp);
  29.  
  30. for (int i = 0 ; i < meio ; i++){
  31.  
  32. // printf("\nresp2 ==>> %d \n", resp);
  33. // printf("BOOL2 ======= >> %d \n", (resp && (s[i] == s[indc])));
  34.  
  35. resp = resp && (s[i] == s[indc]);
  36. indc--;
  37.  
  38. // printf("VALOR ======= >> %c \n", s[i]);
  39. // printf("VALOR 2 ======= >> %c \n", s[indc]);
  40.  
  41. // printf("\nRESP ======= >> %d \n", resp);
  42. // printf("BOOL ======= >> %d \n", (resp && (s[i] == s[indc])));
  43.  
  44. }
  45.  
  46. // printf("\n---------------------------\n");
  47. // printf("BOOL ======= >> %d \n", (s[i] == s[indc]));
  48. // printf("\n---------------------------\n");
  49.  
  50. return resp;
  51.  
  52. }
  53.  
  54.  
  55. int main (int argc, char** argv){
  56.  
  57. char entrada [NUMENTRADA][TAMLINHA];
  58. int numEntrada = 0;
  59.  
  60. do{
  61.  
  62. fgets(entrada[numEntrada], TAMLINHA, stdin);
  63. entrada[numEntrada][strcspn(entrada[numEntrada], "\n")] = '\0';
  64.  
  65. } while (isFim(entrada[numEntrada++]) == false);
  66.  
  67. numEntrada--;
  68.  
  69. for (int i = 0; i < numEntrada ; i++){
  70.  
  71. if(isPalindromo(entrada[i]) == true){
  72.  
  73. printf("SIM\n");
  74.  
  75. } else {
  76.  
  77. printf("NAO\n");
  78.  
  79. }
  80.  
  81. }
  82.  
  83. return 0;
  84. }
  85.  
Success #stdin #stdout 0s 4512KB
stdin
aça
acaçá
Ada
afã
aia
ala
ama
Ana
anilina
ara
arara
asa
ata
aviva
ele
esse
mamam
mamam
matam
metem
oco
omissíssimo
Omo
osso
Oto
Otto
ovo
racificar
FIM
stdout
NAO
NAO
NAO
NAO
SIM
SIM
SIM
NAO
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
NAO
NAO
SIM
NAO
NAO
SIM
SIM