Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как передать false из внутреннего цикла функции в функцию / 15 сообщений из 15, страница 1 из 1
13.02.2014, 21:37
    #38560417
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
Есть функция

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 
f (char* a) 
{
  for (i=0; i<k: i++) 
  {
    if a[i]='l' 
      return false
  }
  if res=0 
    return true
}
...
Рейтинг: 0 / 0
13.02.2014, 22:15
    #38560433
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
stut,

что куда передать?
...
Рейтинг: 0 / 0
13.02.2014, 22:46
    #38560453
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
топикстартер на break намекает
...
Рейтинг: 0 / 0
13.02.2014, 23:46
    #38560498
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
Вообще дело о скобках. после цыкла проверки каждого символа строки есть подсчет количества скобок. Если 0 то тру. Надо в каждом цыклж дать возможность передать в саму функцию чтобы она возвращала фолс если на этой итерации больше закрывающихся скобок что логично невозможно. Но если минус тогда надо выходить из цыкла но знач. рес будет проверяться на равность0 и задача вряд ли будет решена.
...
Рейтинг: 0 / 0
14.02.2014, 00:11
    #38560508
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
#include <iostream>
#include <string.h>
using namespace std;
bool pare (char * line1) {
int k=strlen(line1);
int i;
int res=0;
for (i=0; i<k; i++) { if (line1[i]=='(') res=res+1;
else if (line1[i]==')') res=res-1;
if (res<1) return false;
}
if (res=0) return true;}


int main()
{
cout << pare("as(rtty)ddddd")<< endl;
return 0;
}

Почему 0 возвращает даже если количество одинаково
...
Рейтинг: 0 / 0
14.02.2014, 00:17
    #38560510
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
if (res<1) return false-- хотя здесь эта строчка главная как ее вклинить чтобы она недопускала опережение закрывающих скобок.
Да и без нее последняя строка что возвращает тру почему то выдает 0.
...
Рейтинг: 0 / 0
14.02.2014, 00:25
    #38560512
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
И этот ужас не выдаёт тебе никаких исключений? Типа "управление достигло конца не-void
функции"?.. Может, стоит флагов компиляции накинуть...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.02.2014, 00:38
    #38560520
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
if (res<0) return false;
}
if (res==0) return true;}---вот так должны выглядеть последние строки определение функции и кажется работает--если 1-это тру, а 0-эта фолс что возвращает булевая функция.
То есть два булевых ретурна как бы на одном уровне хотя первый вложеный в цыкл, но после его фолса идет общий фолс функции.
...
Рейтинг: 0 / 0
14.02.2014, 00:58
    #38560530
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
И этот ужас не выдаёт тебе никаких исключений? --вы не поверите этот ужас работает, одна из собственных первых прог--после изменение одной цыфри (1 на 0) и добавление еще одного знака равенства. Если функция у вас не работает, исправте меня если возможно.
...
Рейтинг: 0 / 0
14.02.2014, 00:58
    #38560531
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
stutидет общий фолс функции.
В каком это месте он идёт? Тут тебе не паскаль, нет никакого "значения возвращаемого по
умолчанию".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.02.2014, 01:01
    #38560534
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
Финальный вариант--#include <iostream>
#include <string.h>
using namespace std;
bool pare (char * line1) {
int k=strlen(line1);
int i;
int res=0;
for (i=0; i<k; i++) { if (line1[i]=='(') res=res+1;
else if (line1[i]==')') res=res-1;
if (res<0) return false;
}
if (res==0) return true;}


int main()
{
cout << pare("as((rtty)dddd)d")<< endl;
return 0;
}
--имею ввиду если на каком то цыкле будет -1, то функция возвращает 0.
Если одних скобок не равно количеству вторых скобок тоже будет 0.
Если открыв. всегда опережают закрывающ., и их равное количесво будет-1-то есть ТРУ?
В чем вопрос?
...
Рейтинг: 0 / 0
14.02.2014, 01:45
    #38560546
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
stutИ этот ужас не выдаёт тебе никаких исключений?
Пардон, следует читать "предупреждений". При компиляции.

stutВ чем вопрос?
Вопрос на засыпку: что вернёт твоя функция при res > 0?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.02.2014, 02:13
    #38560552
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
ну если в конце цыкла то 0. ибо главное чтобы нак каком то шаге не было меньше 0 ибо значит что закрываюшая опережает открывающею?
...
Рейтинг: 0 / 0
14.02.2014, 03:03
    #38560558
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
stutну если в конце цыкла то 0.
Да неужели?.. ГДЕ у тебя строчка "return 0"? Ткни пальцем, а то нифига не видно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.02.2014, 03:15
    #38560563
stut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать false из внутреннего цикла функции в функцию
А я откуда знаю. Может надо было написать return TRUE; тип значение что возвращает
функция bool или надо boolean? Я в принципе особо програм на С++ не писал тому не знаю, что там точно должна возвращать функция но если все сбалансировано должна возвращать TRUE-задание такое.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как передать false из внутреннего цикла функции в функцию / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]