Программирование / Лабораторные / 8 вариант 1 курс / laba 7.2 / отчет 7
.2.docМинистерство образования Российской Федерации
Пермский государственный технический университет
Кафедра ИТАС
Лабораторная работа №7.2
“ Функции с переменным числом параметров ”
вариант 8
Выполнил: Белоногов М.Ю.
Проверила:Викентьева О.Л.
Пермь 2003
Исходные данные:
Написать функцию max с переменным числом параметров, которая находит минимальное из чисел типа int. Написать вызывающую функцию main, которая обращается к функции min не менее трех раз с количеством параметров 5, 10, 12.
Тескт программы:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int max(int k,...)
{
int *p = &k;
int max=*(++p);
k--;
for(;k!=0;k--)
if(max<*(++p)) max=*p;
return max;
}
void main()
{
int m[13], maximum,k;
k=5;
cout << k << " params:\n";
for(int i=1;i<=k;i++)
{
cout << "enter param " << i << ": ";
cin >> m[i];
}
maximum=max(k,m[1],m[2],m[3],m[4],m[5]);
cout << "maximum from " << k << " params is: " << maximum <<"\n\n";
k=10;
cout << k << " params:\n";
for(i=1;i<=k;i++)
{
cout << "enter param " << i << ": ";
cin >> m[i];
}
maximum=max(k,m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10]);
cout << "maximum from " << k << " params is: " << maximum <<"\n\n";
k=12;
cout << k << " params:\n";
for(i=1;i<=k;i++)
{
cout << "enter param " << i << ": ";
cin >> m[i];
}
maximum=max(k,m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12]);
cout << "maximum from " << k << " params is: " << maximum <<"\n\n";
}
Результаты выполнения программы:
5 params:
enter param 1: 1
enter param 2: 2
enter param 3: 3
enter param 4: 4
enter param 5: 5
maximum from 5 params is: 5
10 params:
enter param 1: 1
enter param 2: 2
enter param 3: 3
enter param 4: 4
enter param 5: 5
enter param 6: 6
enter param 7: 7
enter param 8: 8
enter param 9: 9
enter param 10: 10
maximum from 10 params is: 10
12 params:
enter param 1: 1
enter param 2: 2
enter param 3: 3
enter param 4: 4
enter param 5: 5
enter param 6: 6
enter param 7: 7
enter param 8: 8
enter param 9: 9
enter param 10: 10
enter param 11: 11
enter param 12: 12
maximum from 12 params is: 12
Press any key to continue