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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как ввести тип bool? компилятор ругается на bool 
:(
    Опции темы
Ангелинка
Дата 20.3.2007, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем большуший приветище... smile 
подскажите пожалуйста...что надо сделать чтобы в программке использовать тип bool? smile 
у меня функция вот такая...
Код

bool SIMM(char* s, int i, int j)
{
     if(s[i]==s[j])
     {
        if((i==j)||(i==j+1))
                return true;
        return SIMM(s,i+1,j-1);
     }
     else
        return false;
}

компилятор говорит declaration sintax error на первую строчку... smile препод сказал что нада написать что-то типа 
enum bool(false, true)...но когда я так пишу у меня выдается еще больше ошибок smile ...

подскажите пожалуйста как решить эту проблемку...заранее благодарна...
 smile 
PM MAIL   Вверх
vinter
Дата 20.3.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Цитата

подскажите пожалуйста...что надо сделать чтобы в программке использовать тип bool? 

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

enum bool  {true, false};



--------------------
Мой блог
PM MAIL WWW   Вверх
Fazil6
Дата 20.3.2007, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

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



что за компиллятор у тебя?


Это сообщение отредактировал(а) Fazil6 - 20.3.2007, 18:01
PM MAIL   Вверх
SparF
Дата 20.3.2007, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 387
Регистрация: 14.9.2006
Где: Санкт-Петербург/М осква

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



Если писать на чистом С, то в нем не определен тип данных bool
Каким компилятором пользуетесь?

Добавлено @ 18:05 
Если компилятор поддерживает С99, то можно включить в программу     stdbool.h,
в нем определены макросы true, false, bool.





--------------------
Люди, не пользуйтесь пиратским программным обеспечением - переходите на Linux!
PM MAIL ICQ   Вверх
apook
Дата 20.3.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Бросай это дело или переходи на более новый компилятор


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
Ангелинка
Дата 20.3.2007, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а вот и не бросила... smile ...у меня заработало так как написал vinter ...там оказывается скобочки подругому поставить надо было... smile 
вот у меня заработало и выяснилось что работает неправильно...помогите исправить пожалуйста... smile ...
там задание...
Описать рекурсивную логическую функцию Simm(S, i, j), проверяющую, является ли симметричной часть строки S, начинающаяся i-м и кончающаяся j-м ее элементами.  
програмка все время выдает что строка не симметрична... smile 
Код


#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <iomanip.h>

enum bool{false, true};
bool SIMM (char* s, int i, int j)
{
     if(s[i]==s[j])
     {
    if((i==j)||(i==j+1))
        return true;
    return SIMM(s,i+1,j-1);
     }
     else
    return false;
}
int main()
{
int i,j;
        char s[100];
        cout << "\n‚ўҐ¤ЁвҐ Їа®ўҐа塞го бва®Єг: ";
        cin  >> s;
        cout << "\n‚ўҐ¤ЁвҐ i: ";
        cin >> i;
        cout << "\n‚ўҐ¤ЁвҐ j: ";
        cin >> j;
        if (SIMM(s,i,j))
              cout<<"‘Ё¬¬ҐваЁз­   :)";
        else
              cout<<"ЌҐбЁ¬¬ҐваЁз­   :(";
      getch();
      return 0;
}

помогите пожалуйста исправить.... smile 
PM MAIL   Вверх
archimed7592
Дата 20.3.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

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



Цитата(Ангелинка @  20.3.2007,  17:55 Найти цитируемый пост)
enum bool(false, true)
не есть гут...сравнение b == false может привести совесем не к тому поведению, которое ожидается smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
skyboy
Дата 20.3.2007, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Код

bool SIMM (char* s, int i, int j)
{
 for(int k= 1; k< (i + j) / 2; k++)
  if(s[k + i] !== s[j - k])
   return false;
 return true;
}

кажется, так.
PM MAIL   Вверх
Ангелинка
Дата 20.3.2007, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ой...забыла сказать..одно маленькое но важное замечание...задача должна быть решена с помощью рекурсии...
 smile 
PM MAIL   Вверх
skyboy
Дата 20.3.2007, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Код

bool SIMM (char* s, int i, int j)
{
 if(i - j < 1)
 {
  if(s[i] == s[j])
   return true;
  else
   return false;
 }
 else
 {
  if(s[i] == s[j])
   return SIMM(s, i + 1, j - 1);
  else
   return false;
 }
}

PM MAIL   Вверх
threef
Дата 21.3.2007, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

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



Цитата

Код

enum bool  {true, false};



здесь true=0 а false=1, что с точки зрения программирования с/с++ ну очень неожиданно.

лучше будет
Код

enum bool  { false,true};


вкрайнем случае задавать явно
Код

enum bool  {true=1, false=0};


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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