0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 3
1

Как передать 0 в функцию типа f (int, int&)

23.01.2015, 09:58. Показов 1052. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, почему при повторных вызовах f остается предыдущее значение S?
Т.е. не обнуляется в теле f - {...s=0...} и как его обнулить?
Например:
C++
1
2
3
4
void f ( int, int &);
void f (int a, int & s) { ....; s = 0;.....; s = .....; }
int count=0, A, S;
main() {...; f ( A, S ); count += S; f ( A, S );count += S;.....}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2015, 09:58
Ответы с готовыми решениями:

Напишите функцию f(int& m1, int& m0, int N), которая воз- вращает первую и последнюю цифры двузначного натурального числа N
Напишите функцию f(int& m1, int& m0, int N), которая воз- вращает первую и последнюю цифры...

Передать массив элементов(типа int) объекта, в функцию из массивов(типа int)
Представьте такую ситуацию. Есть у вас массив чисел: Mass И вы хотите передать его в функцию. Я...

Написать функцию типа Beaty(int iA, int iB, int *pc)
Задание: Написать функцию типа Beaty(int iA, int iB, int *pc); для выражения (iA+iB)/(iA*iB). ...

Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int
Операции над целыми числами осуществляются быстрее, чем над числами с плавающей точкой. Напишите...

4
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
23.01.2015, 10:04 2
Потому что компилятор делает не то, о чем подумал программист.
А то, что он по факту сказал ему сделать.

Показывайте нормальный код.
0
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 3
23.01.2015, 10:32  [ТС] 3
Имеете ввиду подробнее?
ну можно так:

C++
1
2
3
4
5
6
7
int f (int a, int & s)
{  int i = 0;  
   s = 0;
   i ++;  
   s = i;  return i;
}
void main() {  int count=0, A, S;  f ( A, S ); count += S; f ( A, S );count += S;.....}
т.е. при каждом обращении к f, нужно вытаскивать новое значение, наход. в s, а получается в сумме с предыдущим!

Добавлено через 7 минут
т.е. S не обнуляется ни в функции (s=0), ни в главной пр-ме если перед f ставить S = 0
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,516
23.01.2015, 10:36 4
Цитата Сообщение от alex_kag Посмотреть сообщение
т.е. при каждом обращении к f, нужно вытаскивать новое значение,
а с чего бы ему новым быть?
каждый раз в s 1
если тебе нужно чтобы значения накапливались то нужно или так
C++
1
2
3
4
5
6
int f (int a, int & s)
 { static int i = 0; 
 s = 0;
 i ++; 
 s = i; return i;
 }
тогда при каждом вызове функции i увеличивается
или
вот так
C++
1
2
3
4
5
6
int f (int a, int & s)
 { int i = s; 
 s = 0;
 i ++; 
 s = i; return i;
 }
тогда при вызове функции нужно передавать нормальные значения а не мусор
C++
1
 void main() { int count=0, A, S=0; f ( A, S ); count += S; f ( A, S );count += S;.....}
что нужно конкретно я не знаю, поэтому и ответы такие расплывчатые

Добавлено через 42 секунды
Цитата Сообщение от alex_kag Посмотреть сообщение
т.е. S не обнуляется ни в функции (s=0),
а это кто написал
Цитата Сообщение от alex_kag Посмотреть сообщение
s = i;
0
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 3
23.01.2015, 11:46  [ТС] 5
ValeryS, вы не правильно поняли вопрос, но вроде уже разобрался сам. Извините за беспокойство!
0
23.01.2015, 11:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2015, 11:46
Помогаю со студенческими работами здесь

Какая из этих функций int Q(int w) int W(int y,int u,int i) сработает быстрее?
Если есть 2 функции(простые или перегруженные) к примеру Q(int w) int W(int y,int u,int i)или int...

Как передать в stringstream переменную типа int?
Как запихнуть в stringstram int? Не находит такой перегруженной функции. sstream заинклудил....

Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию?
Здравствуйте. Почитал на форуме, но так и не понял что я делаю не так. Имеется двумерный вектор....

Не работает перегрузка индексного оператора [], вместо [int][int] почему то нужно ставить [0][int][int]
#include&lt;iostream&gt; #include&lt;string&gt; #include&lt;vector&gt; #include&lt;algorithm&gt; #include&lt;ctime&gt;...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru