Определить, является ли строка палиндромом - C (СИ) (75533)
Формулировка задачи:
1)Строка содержит одно слово.Проверить,будет ли оно читаться одинаково справа налево и слева направа(т.е.является ли оно палиндромом).
Решение задачи: «Определить, является ли строка палиндромом»
textual
Листинг программы
#include <iostream.h> bool isPalindrom (int num); int main() { int num; char choise= 0; bool bWork = true; while( bWork ) { cout<<"Enter num : "; cin>>num;cin.get(); //Если ввели отрицательное умнождаем на -1 и рассматриваем модуль if( num < 0) num *=-1; if(isPalindrom(num)) cout<<"Number is palindrom"<<endl; else cout<<"Number is not palindrom"<<endl; cout<<"Enter Y for new input"; cout<<"Your choise : "; cin>>choise;cin.get(); if(toupper(choise) != 'Y') bWork = false; } return 0; } bool isPalindrom(int num) { int array[8]; int iDigit = 0; int nDigits = 0; bool bPalindrom = num >0; for(nDigits = 0; bPalindrom && num; nDigits++) { array[nDigits] = num % 10; num = num / 10; } for(iDigit = 0; iDigit < nDigits / 2 && bPalindrom; iDigit++) bPalindrom = (array[iDigit] == array[nDigits - 1 - iDigit]); return bPalindrom; }
Объяснение кода листинга программы
- Включаем заголовочный файл iostream.h, который содержит определения стандартных потоков ввода-вывода.
- Дефинируем функцию isPalindrom, которая будет проверять является ли число палиндромом.
- В функции main считываем число с помощью функции cin и сохраняем его в переменной num.
- Если число отрицательное, то мы его умножаем на -1, чтобы получить положительное число и сохраняем его в переменной num.
- Вызываем функцию isPalindrom, передавая ей в качестве аргумента переменную num.
- В зависимости от результата функции isPalindrom выводим сообщение о том, является ли число палиндромом или нет.
- Запрашиваем у пользователя ввод, при этом сохраняем его выбор в переменной choise.
- Если пользователь ввел не 'Y', то выходим из цикла while с помощью оператора break.
- Если пользователь ввел 'Y', то снова запрашиваем число и цикл повторяется.
- В функции isPalindrom инициализируем массив array, который будет хранить цифры числа.
- Инициализируем переменные iDigit и nDigits, которые будут использоваться для перебора цифр в числе.
- Инициализируем переменную bPalindrom значением true, которая будет использоваться для проверки является ли число палиндромом.
- В цикле while считываем цифры числа и сохраняем их в массиве array.
- Перебираем массив array в обратном порядке и сравниваем каждую цифру с соответствующей цифрой в обратном порядке.
- Если все цифры совпадают, то возвращаем true, иначе возвращаем false.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д