Академический Документы
Профессиональный Документы
Культура Документы
int main() {
int a, b, c;
double d, e, f;
char g, h, i;
cout<<"Enter 3 integers,raional numbers and 3 symbols
consequently"<<endl;
cin >> a >> b >> c;
cin >> d >> e >> f;
cin >> g >> h >> i;
cout <<"Max of integers = " << maximum(a, b, c) << endl;
cout <<"Max of rational numbers = " << maximum(d, e, f) << endl;
cout <<"Max of symbols = "<<maximum(g, h, i) << endl;
}
template <class T>
T maximum(T n, T m, T l) {
T maxel;
maxel = max(n,max(m,l));
return maxel;
}
2. Напишите программу, которая использует шаблон функции по
имени min для определения наименьшего из трех аргументов. Проверьте
программу, используя пары целых чисел, символов и чисел с плавающей
запятой.
#include <iostream>
int main() {
int a, b, c;
double d, e, f;
char g, h, i;
cout<<"Enter 3 integers,raional numbers and 3 symbols
consequently"<<endl;
cin >> a >> b >> c;
cin >> d >> e >> f;
cin >> g >> h >> i;
cout <<"Min of integers = "<< minimum(a, b, c) << endl;
cout <<"Min of rational numbers = " << minimum(d, e, f) << endl;
cout <<"Min of symbols = " << minimum(g, h, i) << endl;
}
template <class T>
T minimum(T n, T m, T l) {
T minel;
minel = min(n,min(m,l));
return minel;
}
3. Определите, содержат ли следующие фрагменты программы
ошибки. Для каждой ошибки укажите, как она может быть исправлена.
Замечание: в некоторых фрагментах ошибки могут отсутствовать.
a) template < class A >
int sum ( int numl , int num2, int num3 )
{ return numl + num2 + num3; )
Неправильное прсивоение во второй
строчке оно должно быть типа ‘A’ :
Template < class A >
A sum (A num1,A num2,A num 3){
return num1+num2+num3
}
Плюс скобка в конце поставлена
неправильно.
b) void printResults ( int x, int y )
{ cout « "Сумма равна " « x + у « ' \n' ;
return x + y; }
Тип void не подразумевает возвращение каких либо
данных, следственно “return” тут не нужен :
void printResults ( int x, int y ){
cout « "Сумма равна " « x + у « ' \n' ≪x+y≪
int main()
{
int n;
cin>>n;
int ind;
for (int i=1; i <= n; i++){
fib(i);
ind = fib(i);
}
cout<<ind;
return 0;
}
int fib(int number){
if (number == 0)
return 0;
if (number == 1)
return 1;
return fib(number-1) + fib(number-2);
}
int main(){
int a, b;
cin>>a>>b;
cout<<NOD(a,b);
return 0;
}
int NOD(int x, int y){
if (y == 0)
return x;
else
return NOD(y, x%y);
}