Написан код.Компилятор ошибку не выдают, но работает не корректно. Поправьте пожалуйста
#include <iostream>
#include <time.h>
using namespace std;
template <typename MY_TYPE>
int function(MY_TYPE size, MY_TYPE* mas = new int)
{
MY_TYPE max = mas[0];
for (MY_TYPE i = 0; i < size; i++)
{
MY_TYPE max = mas[0];
if (mas[i] > max)
{
max = mas[i];
}
max = mas[i];
}
cout << "MAX IS = " << max;
return max;
}
int main()
{
setlocale(LC_ALL, "rus");
/*
18. Написать функцию, возвращающие максимальное значение из двух,
трех и четырех целых значений.*/
int size;
cout << "Введите кол-во цифр (от одного до четырех): ";
cin >> size;
int* mas = new int[size];
for (int i = 0; i < size; i++)
{
cout << "Введите " << i + 1 << " число: ";
cin >> mas[i];
}
function(size, mas);
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Навскидку -
MY_TYPE max = mas[0];
for (MY_TYPE i = 0; i < size; i++) {
MY_TYPE max = mas[0];
if (mas[i] > max) {
max = mas[i];
}
max = mas[i];
}
замените на
MY_TYPE max = mas[0];
for (MY_TYPE i = 0; i < size; i++) {
if (mas[i] > max) {
max = mas[i];
}
}
И еще раз подумайте - вам точно нужен шаблон?...