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

Задача с палиндромом (измененная) - C++

Восстановить пароль Регистрация
 
RealGord88
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 2
01.05.2014, 17:26     Задача с палиндромом (измененная) #1
Нужно проверить строку на палиндром. Только есть особенность:

к примеру дана строка: helloolleh (вывод - да)
но строка к примеру: helloyolleh (вывод - нет)
помогите с кодом!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
01.05.2014, 17:34     Задача с палиндромом (измененная) #2
Проверка на зеркальное отражение строки
kylroma
Одессит
 Аватар для kylroma
44 / 44 / 18
Регистрация: 30.12.2013
Сообщений: 203
Записей в блоге: 1
Завершенные тесты: 1
01.05.2014, 17:40     Задача с палиндромом (измененная) #3
Я себе такую программу делал, немного подправить нужно для условия:
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
#include <iostream>
#include <string>
using namespace std;
 
bool pal(string & sl);
 
int main()
{
    string slovo;
    cout << "vvodd: ";
    getline(cin,slovo);
    while(!pal(slovo))
    {
        cout << "Ne palindrom. Vvodi ewe raz\n";
        getline(cin,slovo);
    }
    cout <<endl<< slovo;
    return 0;
}
 
bool pal(string & sl)
{
    for (int i=0; i<sl.size(); i++)
    {
        if(sl[i]!=sl[sl.size()-i-1] || sl.size()%2)
            return false;
    }   
    cout <<"*** "<< sl;
    return true;
}
Vergil
42 / 36 / 14
Регистрация: 11.11.2009
Сообщений: 238
02.05.2014, 14:37     Задача с палиндромом (измененная) #4
Вот вариант не консольного приложения
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender)
{AnsiString str=Form1->Edit1->Text;
int k=0, t=str.Length();
if (t%2==0) {
for (int i = 1; i <=t/2; i++) {
if (str[i]!=str[t-i+1]){k=1; break;} } }
else {k=1;}
if (k==0){ Form1->CheckBox1->Checked=true;}
else {Form1->CheckBox1->Checked=false;}}
//---------------------------------------------------------------------------
Yandex
Объявления
02.05.2014, 14:37     Задача с палиндромом (измененная)
Ответ Создать тему
Опции темы

Текущее время: 01:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru