Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 16.11.2017
Сообщений: 8
1

Equal(str.begin(), str.end(), str.rbegin()

22.01.2018, 17:30. Просмотров 2388. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using namespace std;
 
string str;
 
int main()
{
    setlocale(LC_ALL, "rus");
    cin >> str;
    if (equal(str.begin(), str.end(), str.rbegin()))
        cout << "yes" << endl;
    else
        cout << "no" << endl;
    system("pause");
}
Объясните как работает
C++
1
equal(str.begin(), str.end(), str.rbegin())
, если можно пошагово.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2018, 17:30
Ответы с готовыми решениями:

Функции str.size() и str.length() - в чем их разница?
Существует 2 функции для определения размера строки в string str.size() и str.length() В чем их...

Функция: по заданной строке Str сформулировать новую строку, состоящую только из цифр, входящих в Str
Написать и протестировать функцию,которая по заданной строке Str формулирует новую строку,состоящую...

как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str
как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str

Написать и протестировать функцию, которая по заданной строке Str формирует новую строку, состоящую только из цифр, входящих в Str
Помогите ребят!!!!препод задачи дал для аттестации,сделал фактически все,кроме этой: &quot;Написать и...

2
зомбяк
1375 / 1045 / 303
Регистрация: 14.05.2017
Сообщений: 3,400
22.01.2018, 17:53 2
Лучший ответ Сообщение было отмечено 14142 как решение

Решение

Пошагово сравнивает значения в прямом итераторе и в обратном итераторе для одного и того же контейнера str, до тех пор, пока прямой итератор не дойдёт до str.end() . Обратный итератор, естественно, начинается с последнего элемента контейнера (str.rbegin() - это именно последний элемент) и по мере итерирования переходит к началу контейнера.

В результате слово проверяется на то, является ли оно палиндромом, но при этом производится (str.size() -1)/2 лишних сравнений элементов, которые уже сравнивались.
1
0 / 0 / 0
Регистрация: 16.11.2017
Сообщений: 8
22.01.2018, 17:59  [ТС] 3
Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2018, 17:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как заставить Strncpy вложить в itog часть символов строки str, если дина str больше, чем кол-во нужных нам символов?
strncpy(itog,str,size+1); cout&lt;&lt;itog; itog вообще не выводится Добавлено через 2 минуты Вот...

Классы STR с++
Построить класс Str с обязательными полями: длина строки; указатель char* под указатель на...

Int To Str
Добрый день, товарищи. Подскажите плиз. Есть структура: SSklad, массив SSklad Sklad;, и элемент...

Наследование STR c++
Построить производный класс Str10 как строку только из цифр. Определить методы: сравнения как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.