0 / 0 / 3
Регистрация: 01.11.2016
Сообщений: 47
1

Проверить является ли введенное слово или число палиндромом

01.11.2016, 17:28. Показов 5004. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Требуется написать функцию, которая проверяет введенное слово или число, на то что оно является палиндромом.
ОБЯЗАТЕЛЬНО! Нельзя использовать массивы!
В поиске только на Pascal выдаёт...
Буду очень благодарен и + в карму
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2016, 17:28
Ответы с готовыми решениями:

Проверить, является ли слово или число палиндромом
Проверить является слово или число палиндромом. Если можно с объяснением. Помогите пожалуйста

Проверить ,является ли введённое слово палиндромом (задача на рекурсию)
Проверить ,является ли введённое слово палиндромом( Слово , которое одинаково читается слева...

Проверить, является ли введенное число палиндромом
Проверьте, является ли введенное число палиндромом. Например, 12321, 2442 - палиндромы. В С++.

Проверить, является ли введенное число палиндромом
Дано натурально n-значное число. Проверить является ли оно полиндромом (перевертышем).

29
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
01.11.2016, 17:34 2
Цитата Сообщение от Scady Посмотреть сообщение
В поиске только на Pascal выдаёт...
Да? Посмотри тут в самом низу страницы, там сплошные "C++ Палиндром".
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 17:36 3
Написать функцию, проверяющую является ли введенная строка палиндромом
0
0 / 0 / 3
Регистрация: 01.11.2016
Сообщений: 47
01.11.2016, 18:07  [ТС] 4
Стринги тоже не используем ещё
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 18:08 5
в смысле??? а как вы себе это представляете в принципе тогда?
0
Неэпический
17871 / 10636 / 2054
Регистрация: 27.09.2012
Сообщений: 26,739
Записей в блоге: 1
01.11.2016, 18:22 6
Цитата Сообщение от Scady Посмотреть сообщение
Нельзя использовать массивы!
А каким макаром тогда работать со словами?
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
01.11.2016, 18:39 7
Цитата Сообщение от Scady Посмотреть сообщение
Нельзя использовать массивы!
Цитата Сообщение от Scady Посмотреть сообщение
Стринги тоже не используем ещё
Scady, строки в плюсах - это или std::string, или строки в стиле Си, которые, увы - символьные массивы. Ваше задание звучит примерно как "Забить в стену гвоздь, не используя молоток. Ах да, гвозди тоже не использовать."
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 18:43 8
Цитата Сообщение от gru74ik Посмотреть сообщение
Ах да, гвозди тоже не

Не по теме:

и к стене не подходите, мы ее проходили еще... но я гуглил, тут пишут, что перфоратором можно! :-)

0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
01.11.2016, 18:54 9
Цитата Сообщение от Croessmah Посмотреть сообщение
А каким макаром тогда работать со словами?
Разве что, перенаправлять ввод с клавиатуры в файл и работать с файлом вместо массива (контейнера)?
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 18:59 10
Цитата Сообщение от gru74ik Посмотреть сообщение
Разве что, перенаправлять ввод с клавиатуры в файл и работать с файлом?
там все равно будет работа с массивом, смешение и т.п. точно так-же как и с потоками... я хз если честно даже, что придумать...

Добавлено через 2 минуты
как вариант - действительно перенаправлять поток ввода в файл, а дальше открывать текстовым редактором этот файл, а в нем пользователь сам будет проверять, является или нет, если является - файл оставляет без изменения (т.е. не с нулевым размером), а если не является, то просто очищает файл и сохраняет его. приложение отслеживает закрытие внешнего процесса и анализирует созданный файл - и выдает результат.

Или еще вариант, перенаправлять в Excel и в нем с помощью макроса проверить
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
01.11.2016, 19:02 11
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
я хз если честно даже, что придумать
Даже банальный литерал "Please enter any word or number: " (приглашение пользователю) придётся сохранять куда-то (в массив, строку std::string или какой-то контейнер).

Добавлено через 36 секунд
Ну либо тоже читать его из файла. Ну и изврат!

Добавлено через 1 минуту
Scady, сишные массивы нельзя, std::string нельзя. А другие контейнеры STL (std::vector, std::list, std::deque и т.д.) можно использовать?
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 19:04 12
Цитата Сообщение от gru74ik Посмотреть сообщение
можно использовать?
))) vector<char> ????
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
01.11.2016, 19:05 13
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
vector<char>
Да, я немного мухлюю, ну и что? Надо же как-то из положения выходить )))
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 19:07 14
gru74ik,

Не по теме:

Кликните здесь для просмотра всего текста
Проверить является ли введенное слово или число палиндромом

0
Неэпический
17871 / 10636 / 2054
Регистрация: 27.09.2012
Сообщений: 26,739
Записей в блоге: 1
01.11.2016, 19:12 15
gru74ik, не получится.
Любой объект - массив байт.
Удачи с решением.
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
01.11.2016, 19:18 16

Не по теме:

Maxim Prishchepa, я думаю (если мы правильно поняли задание и это не ошибка ТС), ребята проходят файловый ввод/вывод и препод хотел их подтолкнуть именно к работе с файлами.



Добавлено через 1 минуту

Не по теме:

Croessmah, убийца! :gcray2:

0
Croessmah
01.11.2016, 19:24
  #17

Не по теме:

gru74ik,

Кликните здесь для просмотра всего текста

0
Maxim Prishchepa
01.11.2016, 19:44
  #18

Не по теме:

gru74ik, я хз если честно, у меня в последнее время угадыватель мыслей барахлить стал))

0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
01.11.2016, 19:44 19
Чур я претендент на самое оригинальное решение.
Если не бережёте нервы
А жаль, нервы - хорошая штука, и не восстанавливаются
Ладно, мне лень много спойлеров делать
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
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
#include <boost/filesystem.hpp>
/////////////////////////////////////////////////////////////////////////////////////////
#define istrm_iter( strm ) \
    std::istream_iterator<char>( strm ), std::istream_iterator<char>()
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::ofstream f_out( "file.txt" );
    
    std::copy( 
                istrm_iter( std::cin ), 
                std::ostream_iterator<char>( f_out ) 
             );
    
    f_out.close();
    
    namespace fs = boost::filesystem;
    
    size_t size = fs::file_size( fs::current_path().string() + "\\file.txt" );
    size_t idx{};
    bool res = true;
    
    while( idx < size / 2 )
    {
        std::ifstream f_in( "file.txt" );
        char cur_f{};
        char cur_l{};
        size_t cur_idx{};
        std::for_each(  istrm_iter( f_in ), 
                        [&] ( const char c )
                        {
                            if( cur_idx == idx )
                            {
                                cur_f = c;
                            }
                            if( cur_idx == size - idx - 1 )
                            {
                                cur_l = c;
                            }
                            ++cur_idx;
                        }
                     );
                     
        if( cur_f != cur_l )
        {
            res = false;
            break;
        }
        ++idx;
    }
    
    std::cout << std::boolalpha << res << std::endl;
}
1
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 19:56 20
GbaLog-, предлагаю тогда оптимизировать и копировать прям в память, а с памятью как с потоком работать, тогда "шустрее" будет, за счет исключения операций с жестким диском))

Добавлено через 1 минуту
Цитата Сообщение от GbaLog- Посмотреть сообщение
size_t size = fs::file_size( fs::current_path().string() + "\\file.txt" );
toString КАРЛ!!!! все... ответ не засчитан
0
01.11.2016, 19:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2016, 19:56
Помогаю со студенческими работами здесь

Является ли введённое слово с клавиатуры слово палиндромом
С помощью рекурсивной функции выяснить является ли введённое слово с клавиатуры слово палиндромом.

Определить, является ли введённое слово палиндромом
Напишите программу, которая определяет, является ли введённое слово (без пробелов) палиндромом, то...

Проверить является ли число палиндромом, содержит ли одинаковые цифры, или все различные.
Помогите сделать код на С++ Дано натуральное число n (0 &lt; n &lt; 9990). а) является ли это число...

Проверить является ли слово палиндромом
Символьная строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru