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

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

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

Дана строка символов до точки. Определить, является ли она палиндромом. (Палиндром слева направо и справа налево читается одинаково, например "Леша на полке клопа нашел.") Пробелы и знаки препинания, а также регистр букв не учитываются. написал код, а он работает не верно, в чем ошибка понять не могу, помогите пожалуйста!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    int i,j;
    char str[20], str1[20];
    puts("Vvedite stroky:\n");
    gets(str);
    j=0;
    for(i=strlen(str);i>=0;i--)
    {
        str1[j]=str[i];
        j++;
    }
    if(strcmp(str,str1)==0)
    puts("yes\n");
    else
    puts("no\n");
    system("pause");
    return 0;
}

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i,j;
char str[20],str1[20];
puts("Vvedite stroky:\n");
gets(str);
j=0;
for(i=strlen(str)-1; i>=0; i--)
{
    str1[j]=str[i];
   j++;
}
str1[j]=0;
if(strcmp(str,str1)==0)
puts("yes\n");
else
puts("no\n");
system("pause");
return 0;
}

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

В этом коде:

  1. Объявлены три переменные: i, j, k.
  2. Переменная str используется для хранения введенной пользователем строки.
  3. Переменная str1 используется для хранения перевернутой строки.
  4. Выводится сообщение Vvedite stroky:\n и пользователь вводит строку.
  5. Переменная j инициализируется нулем.
  6. В цикле for перебираются символы строки str в обратном порядке.
  7. Каждый символ копируется из строки str в строку str1 с добавлением к индексу j.
  8. После завершения цикла, последнему символу строки str1 добавляется ноль.
  9. С помощью функции strcmp сравниваются строки str и str1.
  10. Если строки равны, выводится yes, иначе выводится no.
  11. Выводится сообщение Press any key to continue..
  12. Программа завершается.

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


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

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

12   голосов , оценка 3.917 из 5
Похожие ответы