Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> палиндромы в строке, вывести все палиндромы из строки 
:(
    Опции темы
Zaulyx
Дата 23.11.2008, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.11.2008

Репутация: нет
Всего: нет



 спасибо а зачем мы в 38 строчке отнимаем от p ??
PM MAIL   Вверх
taiven
Дата 23.11.2008, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 30.6.2008

Репутация: 2
Всего: 9



похоже, что это я просто перемудрил, наверное можно убрать  smile 
PM   Вверх
Zaulyx
Дата 23.11.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.11.2008

Репутация: нет
Всего: нет



но прога работает все ОК  smile 
PM MAIL   Вверх
Zaulyx
Дата 23.11.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.11.2008

Репутация: нет
Всего: нет



  if(!*p) break;
                
  while(*p++);

а что значат эти 2 строки?
последняя означает пока не конец строки?
PM MAIL   Вверх
taiven
Дата 23.11.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 30.6.2008

Репутация: 2
Всего: 9



Цитата

последняя означает пока не конец строки?  

 smile 

Это сообщение отредактировал(а) taiven - 23.11.2008, 21:51
PM   Вверх
Zaulyx
Дата 23.11.2008, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.11.2008

Репутация: нет
Всего: нет



а первая?
PM MAIL   Вверх
taiven
Дата 23.11.2008, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 30.6.2008

Репутация: 2
Всего: 9



Цитата

а первая? 

проверка, или не достигнут конец строки... но что-то мне подсказывает, что это я не совсем правильно сделал) лучше это убрать, а цикл while сделать таким:
Код

while(*p!=' ' && *p)



Это сообщение отредактировал(а) taiven - 23.11.2008, 22:11
PM   Вверх
Zaulyx
Дата 24.11.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.11.2008

Репутация: нет
Всего: нет



Код

#include <stdio.h>
#include <stdlib.h>

int check(char *str)
{
    int n = 0, m = -1;
    char *p = str;
    while(*p++) m++;
    if(n == m) return 0;
    while(n < m)
        if(str[n++]!=str[m--]) return 0;

    return 1;
}
int main()
{
    char str[256] = {0};
    char temp[256] = {0};
    char *p;
    int i = 0;
    int n;
    printf("%s\n", "Input string:");
    gets(str);

    p = str;

    do{
        if((*p >= 'A'  && *p <= 'Z') || (*p >= 'a' && *p <= 'z'))
        {
            while( (*p!=',' && *p!=' ')  && *p)
            {
                if((*p >= 'A' && *p <= 'Z') || (*p >= 'a' && *p <= 'z'))
                temp[i++] = *p;
                *p++;
            }
            i = 0;

            if(check(temp)) printf("%s\n", temp);
            for(n = 0; n < 256; ++n) temp[n] = '\0';
        }
    }while(*p++);

    return 0;

}


вот подверг небольшим доработкам но как сделать так чтобы один символ был палиндромом? т.е вбиваем А и он является палиндромом???
PM MAIL   Вверх
taiven
Дата 24.11.2008, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 30.6.2008

Репутация: 2
Всего: 9



Цитата

но как сделать так чтобы один символ был палиндромом?

нужно убрать строку
Код

if(n == m) return 0;

из функции check
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.