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

В чем разница между return и return false/true - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расскажите про new и delete в C++ http://www.cyberforum.ru/cpp-beginners/thread59019.html
Есть несколько вопросов: 1) Можно ли перегрузить несколько операторов new в разных пространствах имен, а потом просто писать int *t = mini::new int; ??? 2) Можно ли вызвать конструктор и...
C++ Теория, Общая Добрый день! На днях видел в этой ветке в примере кода на С цикл такого вида: for (unsigned int i=0; i<10;++i) {...} Это было сделано во всех практически циклах по ходу программы, т.е... http://www.cyberforum.ru/cpp-beginners/thread59009.html
C++ Три задачи для чайника.
Помогите пожалуйста решить пару задач. 1.Определить третью справа цифру натурального числа N 2.Определить три наибольших элемента одномерного массива 3.Упорядочить строки матрицы по неубыванию...
Удаление столбца в массиве C++
Помогите пожалуйста, как можно удалить из двумерного массива N x M столбцов которые содержат нули?
C++ Преобразовать строку в float http://www.cyberforum.ru/cpp-beginners/thread58919.html
Итак у меня есть переменная Char. В ней записано '5.2'. И есть переменная float. Как мне поместить 5.2 в переменную типа float ? Типа функции в VB (a=Val(Text1.Text))...
C++ Нахождение простых чисел в массиве Ввести 20 чесел в массив и найти среди них все простые числа Пожалйста помогите :( Буду оч благодарна подробнее

Показать сообщение отдельно
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
02.11.2012, 13:11
инициализируйте флаг внутри функции,раз у вас все время он одинаковый на входе, вот так
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
bool func (int k, int i, int j, int p, int a[12][12])
{
       bool flag=true;
* * * *if (k==0)
* * * * * * * * * * {
* * * * * * * * * * * * * * if (((a[i-1][j-1])==1) || ((a[i-1][j])==1) || ((a[i-1][j+1])==1)) *flag=false;
* * * * * * * * * * * * * * for(int k=1;k<=p;k++)
* * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * if (((a[i][j-1])==1) || ((a[i][j])==1) || ((a[i][j+1])==1)) flag=false;
* * * * * * * * * * * * * * * * * * i++;
* * * * * * * * * * * * * * }
* * * * * * * * * * * * * * if (((a[i+1][j-1])==1) || ((a[i+1][j])==1) || ((a[i+1][j+1])==1)) *flag=false;
* * * * * * * * * * * * * * }
* * * * else
* * * * * * * * * * {
* * * * * * * * * * * * * * *if (((a[i-1][j-1])==1) || ((a[i][j-1]==1)) || ((a[i+1][j-1])==1)) *flag=false;
* * * * * * * * * * * * * * for(int k=1;k<=p;k++)
* * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * if (((a[i-1][j])==1) || ((a[i][j])==1) || ((a[i+1][j])==1)) *flag=false; 
* * * * * * * * * * * * * * * * * * j++;
* * * * * * * * * * * * * * }
* * * * * * * * * * * * * * if (((a[i-1][j+1])==1) || ((a[i][j+1])==1) || ((a[i+1][j+1])==1)) *flag=false;
* * * * * * * * * * * * * * }
return flag;
}
хотя по большому счету, если например вызывать не так
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool func(bool flag){
* if (...) flag=false;
*return flag;
}
int main(){
* bool flag=true;
* func(flag);
* if (!flag){
* * //какое-то действие в надежде, что *flag изменился
* }
* //...
}
а так
C++
1
2
3
4
5
6
int main(){
* bool flag=true;
* if (!func(flag)){
* /*...*/ 
  }
}
то работать будет и ваша версия(только тип у функции поменять на bool) ибо вернется копия, но копия уже отличная от true (если конечно условия выполняются)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru