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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 692
#1

Нерабочий ссылочный элемент - C++

29.06.2011, 18:08. Просмотров 255. Ответов 5
Метки нет (Все метки)

Подскажите пожалйсто почему в данной программе

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
#include<iostream>
using namespace std;
struct a
{int b,c;
};
int e(a, bool&);
int main ()
{setlocale(LC_ALL,"Rus");
a d;
int z;
bool f=true;
cout<<"Введите первое число --> ";
cin>>d.b;
cout<<"Введите первое число --> ";
cin>>d.c;
z=e(d,f);
if(f!=false)
cout<<"Наибольшее число - "<<z;
else
cout<<"Числа равны ";
cin.get();
cin.get();
return 0;
}
int e(a r, bool& q)
{
    if(r.b>r.c)
r.c=0;
else if (r.b==r.c)
{r.b=0;
r.c=0;}
else r.b=0;
 
if (r.b==0)
    return r.c;
else if (r.c==0)
    return r.b;
else if (r.b&&r.c==0)
{q=false;
return r.c;
}
 
}
при выполнении данного фрагмента

C++
1
2
3
q=false;
return r.c;
}
не работает ссылочный механизм ? Почему переменная F не становится
C++
1
false
?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2011, 18:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нерабочий ссылочный элемент (C++):

Ссылочный тип - C++
Есть ли разница и как лучше писать void sum(int &amp;a, int &amp;b); или void sum(int a ,int b); Что лучше, и почему?...

Ошибка с инициализацией и нерабочий цикл - C++
Запустил отладку, не выполняются циклы выделенные коментами, потому что i имеет значение -858993460 после инициальзации void Second() ...

Опциональный ссылочный аргумент функции - C++
Некоторые аргументы функции можно сделать опциональными, просто поставив значение по умолчанию, а затем проверяя, изменилось ли оно : ...

Ссылочный механизм передачи аргументов - C++
Не могу понять эти ссылки, можете подсказать что конкретно и куда идёт, как так получается что при выходе из функции, из переменных &quot;intp&quot;...

Неизвестно почему нерабочий тетрис в 400 строк - C++
Да да, я не добавлял функций управления, жду когда заработает физика объектов :( Хидер #ifndef TETRIS_H #define TETRIS_H ...

Ссылочный параметр не изменяет переменную в Main - C++
Написал программу, где есть 2 функции, одна из них должна с помощью ссылочного параметра изменить переменную а в функции Main, но эта...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
29.06.2011, 18:16 #2
Цитата Сообщение от parkito Посмотреть сообщение
if (r.b==0)
return r.c;
else if (r.c==0)
return r.b;
а вы не думали что один из этих ретурнов срабатывает раньше? выполните программу пошагово
1
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 692
29.06.2011, 18:17  [ТС] #3
Так они под ифами. То есть они должны срабатывать когда иф сработает. не?
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
29.06.2011, 18:21 #4
Цитата Сообщение от parkito Посмотреть сообщение
Так они под ифами. То есть они должны срабатывать когда иф сработает. не?
совершенно верно

Добавлено через 1 минуту
объясните суть задания
1
jonson
232 / 205 / 61
Регистрация: 18.03.2010
Сообщений: 750
29.06.2011, 18:31 #5
Цитата Сообщение от parkito Посмотреть сообщение
Так они под ифами.
ну и что, при r.b равной 0, уже после первого условия if (r.b==0) будет возврат. Как по твоему сработает третье условие?
Кроме того имхо так не правильно.
C++
1
else if (r.b&&r.c==0)
может вот так?
C++
1
else if (r.b == 0 && r.c==0)
1
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 692
29.06.2011, 23:24  [ТС] #6
Цитата Сообщение от Maxwe11 Посмотреть сообщение
[I][/color][/size]
объясните суть задания
Задание на тренировку навыков по взаимодействию передач аргументов в функцию с использованием структур.



Цитата Сообщение от jonson Посмотреть сообщение
ну и что, при r.b равной 0, уже после первого условия if (r.b==0) будет возврат. Как по твоему сработает третье условие?
]
Спаасибо за наводку. Сейчас навел логический порядок в программе. Заработало. Спасибо !

Вот получившийся текст программы

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
#include<iostream>
using namespace std;
struct a
{int b,c;
};
int e(a, bool&);
int main ()
{setlocale(LC_ALL,"Rus");
a d;
int z;
bool f=true;
cout<<"Введите первое число --> ";
cin>>d.b;
cout<<"Введите первое число --> ";
cin>>d.c;
z=e(d,f);
if(f!=false)
cout<<"Наибольшее число - "<<z;
else
cout<<"Числа равны ";
cin.get();
cin.get();
return 0;
}
int e(a r, bool& q)
{
    if(r.b>r.c)
r.c=0;
else if (r.b==r.c)
{r.b=0;
r.c=0;}
else r.b=0;
if (r.b == 0 && r.c==0)
{q=false;
return r.c;
}
else if (r.b==0)
    return r.c;
else if (r.c==0)
    return r.b;
 
 
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2011, 23:24
Привет! Вот еще темы с ответами:

Ноли вместо значений и нерабочий рандом, запутался с типами данных - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; int main() { FILE...

Вывести содержимое списка в следующем порядке: первый элемент, последний элемент, второй элемент, предпоследни - C++
#include &lt;iostream&gt; #include &lt;list&gt; #include &lt;iterator&gt; void output(std::list&lt;int&gt; myList, std::list&lt;int&gt;::iterator iter1,...

Строки. Как найти в слове первый элемент? Второй элемент, последний элемент? - C++
как найти в слове первый элемент?Второй элемент,последний элемент.С помощью каких операторов это делается??

Структура "Информация": - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить элемент перед элемент - C++
Структура &quot;Информация&quot;: - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.06.2011, 23:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru