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

Палиндром-ли вся строка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ не могу доработать программу http://www.cyberforum.ru/cpp-beginners/thread262300.html
Доброго времени суток! не могу доработать программку.. надо что бы она выводила не один единственный вариант, а прорабатывала все возможные комбинации и выводила их общие количество задача о 8ми ферзях. #include <stdlib.h> #include <iostream.h> using namespace std;
C++ Создать объявление класса и разработать программу-драйвер, которая продемонстрирует работу класса. Класс Triangle (треугольник). Класс хранит Декартовы координаты трех углов треугольника. Конструктор принимает три группы координат. Должны быть предусмотренные функции-элементы, которые вычисляют периметр и площадь, а также функция, которая проверяет или треугольник является прямоугольным. написать нужно на С++ спасибо наперед http://www.cyberforum.ru/cpp-beginners/thread262296.html
C++ Написать программу, которая будет добавлять в текстовый файл введенную из клавиатуры информацию
Написать программу, которая будет добавлять в текстовый файл введенную из клавиатуры информацию. Следует предусмотреть возможность выбора пользователем режима работы: добавление или отображение данных. Обеспечить хранение данных в файле в виде структурированной таблицы, для этого следует использовать средства форматирования. Из клавиатуры вводится название товара и его цена Мое решение, но...
найти суму ряда C++
Нужно найти суму ряда з заданою точностью e=10^-4 (тоисть это 0.001).Члены меньше e не считать.Показать как получена рекурсивна формула U_k+1 Ряд:x/1!-x^3/3!+x^5/5!-..... Рекурсивная формула http://s16.***********/i190/1103/14/45e49352882d.jpg Функция:sin(x) Вот набросал, незнаю правильно или нет.Помогите пожалуйста. #include<stdio.h> #include<conio.h> #include<math.h>
C++ Построить на экране график функции подвижным визирем ис рисунка. http://www.cyberforum.ru/cpp-beginners/thread262262.html
Составить программу, которая строит на экране график функции подвижным визирем ис рисунка. (Кривая графика появляется из кончика стрелки; скорость движения стрелки 1 ... 2,5 см / сек; стрелка - полупрозрачная; движение визиря сопровождается звуковым сигналом переменной тональности).
C++ Построить на экране кривую по заданному параметрическому уравнению. Построить на экране кривую по заданному параметрическому уравнению. Режим дисплея графический (graphics_mode VGAHI 640X480). График кривой выводить линией, характеристики которой (стиль, толщина, цвет) задавать произвольно. подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3

Палиндром-ли вся строка - C++

23.03.2011, 01:21. Просмотров 4329. Ответов 21
Метки (Все метки)

Был сегодня на собеседовании, одно из заданий было определить является-ли строка палиндромом.
Пример строки был задан такой: а роза упала на лапу азора.
Пробелы могут быть несемметричны.
Входная строка не должна меняться.

Я написал там на листочке нечто вроде.

C++
1
2
3
4
5
6
7
8
bool isPal(const std::string& str)
{
    std::string new_str=const_cast<char*>(str.c_str());
    new_str.erase(std::remove(new_str.begin(), new_str.end(), ' '), new_str.end());
    std::string new_str_rev=new_str;
    std::reverse(new_str_rev.begin(), new_str_rev.end());
    return new_str == new_str_rev;
}
На что мне сказали, что условие не выполняется. Ну впринципе конечно да, но ведь исходная строка не меняется никаким макаром.

Подумав сейчас решил написать некий такой вариант. Впринципе определяет по идее, но не уверен в правильности.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool isPal(const std::string& one)
{
    for(size_t i=0, j=one.size()-1; i < one.size() && j > 0; ++i, --j)
    {
        if(one[i] == ' ')
            ++i;
        if(one[j] == ' ')
            --j;
        else if(one[i] != one[j])
            return false;
    }
    return true;
}
Ну и еще вопрос на засыпку, почему на собеседованиях просят точный ответ на инструкцию вроде

C++
1
2
int i=5; 
i=++i + ++i;
И ответ, что это UB почему-то не котируется.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru