Форум программистов, компьютерный форум CyberForum.ru

Проверить, является ли строка, введённая с клавиатуры, палиндромом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как узнать характер ошибки? http://www.cyberforum.ru/cpp-beginners/thread18714.html
Как узнать характер ошибки при открытии файла - например, если файл просто не найден или не существует или ошибка при открытии?
C++ Задачка с одномерным массивом.Найти количество удвоенных нечётных чисел Помогите пожалуйста. Вот текст задания: Даны целые числа a1,a2..an.Известно что a1>0 и что среди a2..an есть хотя бы одно отрицательное число.Пусть a1,a2..an члены данной последовательности.(N заранее не известно) Найти количество удвоенных нечётных чисел среди последовательности a1,a2..an. http://www.cyberforum.ru/cpp-beginners/thread18707.html
Задание по С++ C++
вот задание - Дана непустая последовательность неотрицательных чисел, записанных в семеричной системе счисления. Напечатать в десятичной системе наибольшее из них. Проконтролировать правильность ввода чисел помогите люди добрые...
с++ C++
помогите бедной девушке решить задачи по с++!!! 1. даны 2 действительных числа. удвоить первое число, если оно меньше второго, в остальных случаях оставить числа без изменений. 2. найти суммму всех четных чисел в диапазоне от 1 до 40. 3.в одномерном массиве, состоящем из N вещественных элементов, найти сумму элементов массива, больших числа А. числа A,N вводятся с клавиатуры. 4.дан двумерный...
C++ Задача на Метод сортировки (Слияние) http://www.cyberforum.ru/cpp-beginners/thread18668.html
Здравствуйте! Прошу пожалуйста помочь сделать зачетную работу на С++. Задание: Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента (в примере ниже, сделано левее минимального, т.е нужно исправить), и имеющие нечетный индекс. Массив В отсрортировать по возрастанию, используя метод слияния. (сортировку тоже нужно доработать или исправить чтобы...
C++ Решить уравнение методом итерации Составить задачу на языке Си. Решить уравнение 1-x+sin x -ln(1+x)=0 методом итерации. Отрезок содержащий корень: Приближенное значение корня: 1,1474 #include <stdio.h> #include <math.h> double F(double x) { double F; подробнее

Показать сообщение отдельно
uper
Сообщений: n/a
17.12.2008, 07:32     Проверить, является ли строка, введённая с клавиатуры, палиндромом
ЗАдание следующее:

Написать программу, которая проверяет, является ли строка, введённая с клавиатуры палиндромом.
Строка может содержать буквы разных регистров, пробелы и другие символы.
При проверке должны учитываться только символы, являющиеся буквами. При этом не важно, к какому регистру принадлежит буква.

Решение(скопил у одногруппницы):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include<iostream>
#include<string>
using namespace std;
bool IsBukva(char symbol)
{
switch(symbol)
{
case'a':return 1;break;
case'b':return 1;break;
case'c':return 1;break;
case'd':return 1;break;
case'e':return 1;break;
case'f':return 1;break;
case'g':return 1;break;
case'h':return 1;break;
case'i':return 1;break;
case'j':return 1;break;
case'k':return 1;break;
case'l':return 1;break;
case'm':return 1;break;
case'n':return 1;break;
case'o':return 1;break;
case'p':return 1;break;
case'q':return 1;break;
case'r':return 1;break;
case's':return 1;break;
case't':return 1;break;
case'u':return 1;break;
case'v':return 1;break;
case'w':return 1;break;
case'x':return 1;break;
case'y':return 1;break;
case'z':return 1;break;
case'A':return 1;break;
case'B':return 1;break;
case'C':return 1;break;
case'D':return 1;break;
case'E':return 1;break;
case'F':return 1;break;
case'G':return 1;break;
case'H':return 1;break;
case'I':return 1;break;
case'J':return 1;break;
case'K':return 1;break;
case'L':return 1;break;
case'M':return 1;break;
case'N':return 1;break;
case'O':return 1;break;
case'P':return 1;break;
case'Q':return 1;break;
case'R':return 1;break;
case'S':return 1;break;
case'T':return 1;break;
case'U':return 1;break;
case'V':return 1;break;
case'W':return 1;break;
case'X':return 1;break;
case'Y':return 1;break;
case'Z':return 1;break;
default:return 0;
}
}
char LowReg(char symbol)
{
switch(symbol)
{
case'A':return'a';break;
case'B':return'b';break;
case'C':return'c';break;
case'D':return'd';break;
case'E':return'e';break;
case'F':return'f';break;
case'G':return'g';break;
case'H':return'h';break;
case'I':return'i';break;
case'J':return'j';break;
case'K':return'k';break;
case'L':return'l';break;
case'M':return'm';break;
case'N':return'n';break;
case'O':return'o';break;
case'P':return'p';break;
case'Q':return'q';break;
case'R':return'r';break;
case'S':return's';break;
case'T':return't';break;
case'U':return'u';break;
case'V':return'v';break;
case'W':return'w';break;
case'X':return'x';break;
case'Y':return'y';break;
case'Z':return'z';break;
default:return symbol;
}
}
string CleanString(string input)
{
string output;
string temp;
int i;
for (i=0;i<=input.length()-1;i++)
{
if (IsBukva(LowReg(input.at(i))))
{
temp = LowReg(input.at(i));
output.append(temp,0,1);
}
}
return output;
}
bool palindrom(string output)
{
int i;
for(i=0;i<=output.length()-1;i++)
{
if(output.at(i)!=output.at(output.length()-i-1))
return 0;
}
return 1;
}
void main()
{
 
string stroka;
cout<<"Vvedi stro4ku: ";
cin>>stroka;
cout<<palindrom(CleanString(stroka))<<'\n';
}
Объясните плиз что там происходит в программе, а то мне надо преподу будет рассказать. Ребят, очень прошу, программирование не профильный предмет, но сдавать все равно его как-то надо...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru