blob: 47e4fba969d56b0a20f7975332fee02169cc1d75 (
plain) (
blame)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#include <iostream>
using namespace std;
int f(int n)
{
n++;
return n;
}
// lvalue ("връщане на променлива")
// rvalue ("връщане на константа")
//Референция - друго име за някоя променлива
// Пример:
// Напишете функция, която приема цяло число и връща най-голямата и най-малката цифра.
void getMaxAndMinDigit(int n, int& maxDigit, int& minDigit)
{
int max = 0;
int min = 9;
while (n != 0)
{
int lastDigit = n % 10;
if (lastDigit > max)
max = lastDigit;
if (lastDigit < min)
min = lastDigit;
n /= 10;
}
maxDigit = max;
minDigit = min;
}
//!
int& f(int& n) //--няма да върне копие.
{
n++;
return n;
}
int main()
{
int n;
cin >> n;
int max, min;
getMaxAndMinDigit(n, max, min);
cout << "Min digit " << min << " " << "max digit " << max << endl;
}
#include <iostream>
using namespace std;
// lvalue ("връщане на променлива")
// rvalue ("връщане на константа")
//Референция - друго име за някоя променлива
//Пример:
// Напишете функция, която приема цяло число и връща най-голямата и най-малката цифра.
void getMaxAndMinDigit(int n, int& maxDigit, int& minDigit)
{
int max = 0;
int min = 9;
while (n != 0)
{
int lastDigit = n % 10;
if (lastDigit > max)
max = lastDigit;
if (lastDigit < min)
min = lastDigit;
n /= 10;
}
maxDigit = max;
minDigit = min;
}
int f1(int& n) //-връщат константа (rvalue)
{
n++;
return n;
}
int& f2(int& n) //--връщат променлива (lvalue).
{
n++;
return n;
}
///!!!!!!!!!!! error
int& f3()
{
int a = 10;
return a;
}
int main()
{
cout << ++f();
}
|