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

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

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

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

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

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

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

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

29
Любитель чаепитий
3726 / 1786 / 561
Регистрация: 24.08.2014
Сообщений: 5,983
Записей в блоге: 1
01.11.2016, 20:19 21
Лучший ответ Сообщение было отмечено Maxim Prishchepa как решение

Решение

Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
копировать прям в память
Можно.
Кликните здесь для просмотра всего текста
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
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
#include <sstream>
/////////////////////////////////////////////////////////////////////////////////////////
#define istrm_iter( strm ) \
    std::istream_iterator<char>( strm ), std::istream_iterator<char>()
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    
    std::istringstream strm  ( {
                                std::istream_iterator<char>( std::cin ), 
                                std::istream_iterator<char>() 
                            } );
                            
    size_t size{};
    std::for_each( istrm_iter( strm ), [&size] ( char ) { ++size; } );
    strm.clear();
    strm.seekg( 0 );
    
    size_t idx{};
    bool res = true;
    
    while( idx < size / 2 )
    {
        char cur_f{};
        char cur_l{};
        size_t cur_idx{};
        std::for_each(  
                        istrm_iter( strm ), 
                        [&] ( 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;
}


Добавлено через 52 секунды
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
ответ не засчитан

А новый? Там нет такого ничего.
2
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 20:21 22
а в новом - теги кода слетели

Добавлено через 1 минуту
жесть))) компилить лень, но если реально работает, то крутатенюшка крутатейная, такое понести, думаю обалдеют господа теоретики ))
0
Любитель чаепитий
3726 / 1786 / 561
Регистрация: 24.08.2014
Сообщений: 5,983
Записей в блоге: 1
01.11.2016, 20:22 23

Не по теме:

Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
а в новом - теги кода слетели
Я их забыл просто. :pardon:



Добавлено через 1 минуту
Цитата Сообщение от Maxim Prishchepa Посмотреть сообщение
компилить лень
http://rextester.com/BJF52205
0
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
01.11.2016, 20:25 24
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
//g++  4.9.3
 
#include <iostream>
#include <stdexcept>
#include <cstdint>
#include <cassert>
#include <cstring>
 
 
struct NoArray
{
    std::size_t a0;
    std::size_t a1;
    std::size_t a2;
    std::size_t a3;
    std::size_t a4;
    std::size_t a5;
    std::size_t a6;
    std::size_t a7;
    std::size_t a8;
    std::size_t a9;
};
 
 
 
 
bool is_palindrome(const char *ptr)
{
    std::size_t length = strlen(ptr);
    if (length == 0){
        throw std::invalid_argument("length is equal zero");
    }
    for (std::size_t i = 0, j = length - 1; i < j; ++i, --j) {
        if (ptr[i] != ptr[j]) {
            return false;
        }
    }
    return true;
}
 
 
 
 
int main()
{
 
    NoArray data;
    
    char *ptr = (char*)&data;
    
    std::cin >> ptr;
    
    std::cout << is_palindrome(ptr) << std::endl;
}
http://rextester.com/JSFD27329
1
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 20:27 25
Цитата Сообщение от Croessmah Посмотреть сообщение
char *ptr
Цитата Сообщение от Scady Посмотреть сообщение
Нельзя использовать массивы!
))
0
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
01.11.2016, 20:29 26
Maxim Prishchepa, Вы тоже не отличаете массив от указателя?
Печально. Мне казалось, что только новички путают всё на свете.
0
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
01.11.2016, 20:29 27
Цитата Сообщение от GbaLog- Посмотреть сообщение
C++
1
2
3
4
5
#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
#include <boost/filesystem.hpp>
GbaLog-, аккуратно сказал. Теперь он точно не поседеет
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.11.2016, 20:32 28
Цитата Сообщение от Croessmah Посмотреть сообщение
тоже не отличаете массив от указателя?
Печально. Мне казалось, что только новички путают всё на свете.
старый уже... все время путаю как правильно то ли void [] то ли void *
0
Любитель чаепитий
3726 / 1786 / 561
Регистрация: 24.08.2014
Сообщений: 5,983
Записей в блоге: 1
01.11.2016, 20:33 29
Цитата Сообщение от gru74ik Посмотреть сообщение
аккуратно сказал. Теперь он точно не поседеет
Вы это уже второй раз мне кидаете, и я второй раз не могу понять, в чём смысл этой фразы?
Я даже прочитал немного после этой фразы.

P.S. Немного подрихтовал код.
Кликните здесь для просмотра всего текста
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
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <iterator>
#include <algorithm>
#include <sstream>
/////////////////////////////////////////////////////////////////////////////////////////
#define istrm_iter( strm ) \
    std::istream_iterator<char>( strm ), std::istream_iterator<char>()
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::istringstream strm( { istrm_iter( std::cin ) } );
                            
    size_t size{};
    std::for_each( istrm_iter( strm ), [&size] ( char ) { ++size; } );
    strm.clear();
    strm.seekg( 0 );
    
    bool res = true;
    
    for( size_t idx{}; idx < size / 2; ++idx )
    {
        char cur_f{};
        char cur_l{};
        size_t cur_idx{};
        std::for_each(  
                    istrm_iter( strm ), 
                    [&] ( 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;
        }
    }
    
    std::cout << std::boolalpha << res << std::endl;
}
0
sourcerer
01.11.2016, 20:35     Проверить является ли введенное слово или число палиндромом
  #30

Не по теме:

GbaLog-, там до этого вот было:

– Ничего, до двенадцати еще далеко. Ты же знаешь, что меня просили говорить аккуратно, с подходцем, чтобы ненароком не напугать вьюношу, а то поседеет в одночасье, всю красоту и молодость попортит, или еще краше – крыша у таланта поедет. Общение с дневным призраком особо крепких нервов требует! – Мужик, похоже, успокоился и опять начал ерничать.
А уже после:
Мужчина повел плечами, медленно повернулся ко мне. Мой намек на ночную смену его, похоже, не на шутку задел, поэтому он скорчил зверскую рожу и зло произнес:
– Нехорошо чужое добро заныкивать. Книгу верни, рыжая зараза!
– Аккуратно сказал… – ахнула девица. – Теперь он точно не поседеет.

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2016, 20:35

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

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

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

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


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

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

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