Форум программистов, компьютерный форум CyberForum.ru

Максимальный элемент массива. Перегрузка функции - C++

Восстановить пароль Регистрация
 
Vlad_fractal
 Аватар для Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
09.12.2013, 20:15     Максимальный элемент массива. Перегрузка функции #1
Задание:
Используя перегрузку функций, написать программу определения максимального значения элемента массива разного типа.
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int max(int arr[100], int size) 
{ 
int max = arr[0]; 
for(int i=1; i<size; i++) 
if(arr[i] > max) 
max = arr[i]; 
return max; 
}
double max(float arr[100], int size) 
{ double max = arr[0];
for(int i=1; i<size; i++) 
if(arr[i] > max) 
max = arr[i]; 
return max; 
}
Здесь все верно?
Если да, идём дальше. Помогите дописать, пожалуйста. Заранее спасибо.
Иначе- какие ошибки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2013, 20:15     Максимальный элемент массива. Перегрузка функции
Посмотрите здесь:

Сразу три 1.анализ функции, 2.замена элементов массива, 3.максимальный элемент массива C++
C++ Определить, что больше: максимальный элемент массива А[10] или минимальный элемент массива В[7]
C++ Найти максимальный элемент массива и вывести последний четный элемент
C++ Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
C++ найти максимальный элемент массива x(15) . переставить местами этот максимальный элемент с индексом 4
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
09.12.2013, 20:35     Максимальный элемент массива. Перегрузка функции #2
Vlad_fractal, не знаю в курсе вы или нет, и вообще подойдет ли вам такой вариант, НО можно сделать шаблон функции который будет работать с любым типом массива
C++
1
2
3
4
5
6
7
template <typename type> type max (type* arr,int size) {
    type max = arr[0]; 
    for(int i=1; i<size; i++) 
        if(arr[i] > max) 
            max = arr[i]; 
    return max; 
}
Vlad_fractal
 Аватар для Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
09.12.2013, 20:47  [ТС]     Максимальный элемент массива. Перегрузка функции #3
Цитата Сообщение от newb_programmer Посмотреть сообщение
template <typename type> type max (type* arr,int size) {
* * type max = arr[0];
* * for(int i=1; i<size; i++)
* * * * if(arr[i] > max)
* * max = arr[i];
* * return max;
}
Спасибо, конечно, но я сам не увлекаюсь С++. В универе у нас скорее не С++, а Borland 3.1, врятли там такое прокатит, да если и прокатит, препод загрызёт.
Вот, исправил немного
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int max(int arr[10], float size) 
{ 
int max = arr[0]; 
for(int i=1; i<size; i++) 
if(arr[i]>max) 
max = arr[i]; 
return max; 
}
float max(float arr[10], double size) 
{ float max = arr[0];
for(int i=1; i<size; i++) 
if(arr[i]>max) 
max = arr[i]; 
return max; 
}
main()
нужно всего-лишь закончить, но я понятия не имею, как. После майна опять обозначаем эти переменные, далее оператор ввода чисел в массив, затем оператор вывода максимального числа. Хоть что-то из перечисленного алгоритма правильно?
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
09.12.2013, 21:16     Максимальный элемент массива. Перегрузка функции #4
Vlad_fractal, ну я так понял вам нужна программа с использованием ваших функций? можно вот так.
C++
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
#include<iostream>
using namespace std;
 
int max(int* arr, float size) 
{ 
    int max = arr[0]; 
    for(int i=1; i<size; i++) 
        if(arr[i]>max) 
            max = arr[i]; 
    return max; 
}
double max(double* arr, double size) 
{ 
    double max = arr[0];
    for(int i=1; i<size; i++) 
        if(arr[i]>max) 
            max = arr[i]; 
    return max; 
}
 
int main()
{
    const int s=5;
    int arr[s];
    double arr1[s];
    cout<<"Enter int array:\n";
    for(int i=1; i<s; i++)
        cin>>arr[i];
    cout<<"Enter double array:\n";
    for(int i=1; i<s; i++)
        cin>>arr1[i];
    cout<<"Max of int:"<<max(arr,s)<<endl;
    cout<<"Max of double:"<<max(arr1,s)<<endl;
    cout<<endl;
    system("pause");
}
Yandex
Объявления
09.12.2013, 21:16     Максимальный элемент массива. Перегрузка функции
Ответ Создать тему
Опции темы

Текущее время: 09:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru