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

полиндром - C++

Восстановить пароль Регистрация
 
straus
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 45
23.10.2010, 14:53     полиндром #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
boolean polindrom(char*s1){
    char* str2=new char[100]; int a=0;
    
 
    for(int i=0 ; i<strlen(s1) ;i++)
    for(int j=0; j<strlen(s1) ; j++){
        if(s1[j]=='\0')break;
        if(s1[j]==' ')
        {a++;i--;continue;}
        else{str2[i]=s1[j];}
    }
    str2[strlen(s1)-a];
    
    
    int n= strlen(str2);
boolean z=true;
    for(int j=0 ; j<strlen(str2) ; j++,n--){
        if(str2[j]!=str2[n-1])
        {z=false;
        break;}
    }
    return z;
}
задала полиндром но он у меня не работает....
если ввожу шалаш пишет что не полиндром
надо чтоб и "ша лаш " тоже рассматривал как полиндром



вывод
C++
1
2
    boolean z=polindrom(s1);
    if(z){cout<<"Полиндром"<<endl;}else{cout<<"Не полиндром"<<endl;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2010, 14:53     полиндром
Посмотрите здесь:

Определить полиндром Pascal
C++ как с пoмощью цикла и оператора If проверить полиндром ли число
Написать функцию которая печатает строки полиндром C++
Задача Пирамида и Полиндром C++
Turbo Pascal задача полиндром
Полиндром Turbo Pascal
C++ Полиндром
Полиндром или нет? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
23.10.2010, 15:31     полиндром #2
Что за тип такой "boolean"? Такое в C++ первый раз вижу.

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
#include <iostream>
#include <cstring>
 
using namespace std;
 
bool polindrom(char* in)
{
    int len, i, j;
    
    len = strlen(in);
    i=0;
    j=len-1;
    
    for(;i<j;)
    {
        // Если пробел - сл. шаг
        if (in[i]==' ')
        {
            i++;
            continue;
        }
        
        // Если пробел - сл. шаг
        if (in[j]==' ')
        {
            j--;
            continue;
        }
        
        // Сама проверка
        if (in[i]!=in[j]) return false;
        
        // Продолжаем
        i++;
        j--;
    }
    
    return true;
}
 
int main()
{
    cout << polindrom("шалаш") << endl;
    cout << polindrom("шал аш ") << endl;
    return 0;
}
- Чувствителен к регистру;
- Пустая строка - палиндром;
- Строка из пробелов - палиндром.
Yandex
Объявления
23.10.2010, 15:31     полиндром
Ответ Создать тему
Опции темы

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