Определить, является ли строка палиндромом - C (СИ) (71918)

Узнай цену своей работы

Формулировка задачи:

Дана строка символов до точки. Определить, является ли она палиндромом. (Палиндром слева направо и справа налево читается одинаково, например "Леша на полке клопа нашел") Пробелы и знаки препинания, а также регистр букв не учитываются.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int main()
  5. {
  6. int i,j;
  7. char str[20],str1[20];
  8. puts("Введите строку:\n");
  9. gets(str);
  10. j=0;
  11. for(i=strlen(str)-1; i>=0; i--)
  12. {
  13. str1[j]=str[i];
  14. j++;
  15. }
  16. str1[j]=0;
  17. if(strcmp(str,str1)==0)
  18. puts("да\n");
  19. else
  20. puts("нет\n");
  21. system("pause");
  22. return 0;
  23. }

Решение задачи: «Определить, является ли строка палиндромом»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int main()
  5. {
  6. int i,j;
  7. char str[50]="a roza upala   na lapu azora",str1[50];
  8. puts("Введите строку:\n");
  9. //gets(str);
  10. j=0;
  11. for(i=strlen(str)-1; i>=0; i--)
  12. {
  13. if(str[i]!=' ')
  14. str1[i]=str[i];
  15. }
  16. bool fl=true;
  17. int n=strlen(str1);
  18. for(i=0;i<n/2;i++)
  19. if (str1[i]!=str1[n-1-i])
  20. {
  21.     puts("no\n");
  22.     return 0;
  23. }
  24. puts("yes\n");
  25. return 0;
  26. }

Объяснение кода листинга программы

В этом коде:

  1. Подключаются необходимые библиотеки.
  2. Определяются переменные:
    • i и j - для работы с циклами.
    • str - строка, которую необходимо проверить на палиндром.
    • str1 - дополнительная строка для обработки в цикле.
  3. Пользователю предлагается ввести строку.
  4. В цикле заполняется строка str1 символами из str, при этом игнорируются пробелы.
  5. Переменная fl устанавливается в true, а переменная n получает длину строки str1.
  6. В цикле проверяется, являются ли символы str1 на позиции i и n-1-i одинаковыми.
  7. Если символы не совпадают, то выводится сообщение no и программа завершается.
  8. Если все символы совпадают, то выводится сообщение yes.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы