2016-10-11 3 views
0

Я пытаюсь вернуть наивысшее значение из массива с помощью функции, но я не могу заставить ее работать правильно, может кто-то помочь. Поэтому я хочу показать самые высокие значения в массиве 1,2,3 и 4, но я не могу заставить функцию работать.функции массива C++ найти максимальное значение

#include "stdafx.h" 
#include <iostream> 
using namespace std; 

void averScore(int test[], int size); 
void highScore(int test[], int size); 
void lowestScore(int test[], int size); 



int main() 
{ 

    const int SIZE1 = 5; 
    const int SIZE2 = 6; 
    const int SIZE3 = 4; 
    const int SIZE4 = 5; 

    int set1[SIZE1] = { 90,85, 88, 80, 85 }; 
    int set2[SIZE2] = { 89, 75, 78, 82, 83, 80 }; 
    int set3[SIZE3] = { 88, 82, 88, 90 }; 
    int set4[SIZE1] = { 85, 87, 88, 90, 92 }; 

    highScore(set1, SIZE1); 

    return 0; 
} 

void highScore(int num[], int size) 
{ 
    int highnum = 0; 

    for (int i = 0; i < size; i++) 
    { 
     if (num[i] > highnum) 
      highnum = num[i]; 
     cout << num[i]; 
    } 
    cout << highnum; 
} 
+1

Просьба уточнить, что не работает точно, каковы результаты/ошибки, которые вы получаете –

+0

Выглядит так ... в чем проблема? – DigitalNinja

+0

Что не так? Вы должны использовать [std :: array] (http://en.cppreference.com/w/cpp/container/array) и [std :: max_element] (http://en.cppreference.com/w/cpp/ алгоритм/max_element). –

ответ

0

Вы назвали функцию «highScore» только для SET1.

Если вы хотите, чтобы все четыре, вы должны вызвать функцию для каждого набора.

0

Я не знаю, нужна ли вам библиотека stdafx.h. Для меня это прекрасно работает, не включая его.

И добавить новую строку endl после cout заявления как этот cout << num[i] << endl; и cout << highnum << endl;

Смежные вопросы