2014-01-18 3 views
-3

ПримерКак найти максимальные значения в массиве?

Говорят, что у меня есть массив:

Array = (9, 1, 9, 9); 

как я цикл через массив и может напечатать значение и положение каждого максимального значения?

так напечатает

Value: 9 and Position: 0 
Value: 9 and Position: 2 
Value: 9 and Position: 3 

У меня возникли проблемы с созданием алгоритма для него.

+0

Не подходящий вопрос для этого сайта. – kBisla

+4

Почему вы не приближаетесь к нему постепенно? Сначала * напишите код *, который выполняет итерацию по списку и выводит все значения. Затем расширьте свой код, чтобы определить максимальное значение. Затем снова разверните его, чтобы найти и отобразить позицию и значение для этих элементов. – JVMATL

+1

@BlueFlame. Как этот вопрос не подходит? –

ответ

2

Самый простой способ, которым я могу думать о том, чтобы пойти над массив один раз и найти максимальное значение, а затем снова перебрать массив и распечатать сообщение с текущим индексом каждый раз, когда вы попадаете в элемент, который равен максимальному, который вы нашли.

2

1) Перебрать все значения в массиве найти значение MAX

2) Итерации снова напечатать позицию, если текущее значение == значение MAX

0

Вот псевдо-код для алгоритма один проход: -

list maxs; 
int maxvalue = arr[0]; 

maxs = new list(); 
maxs.append(0); 

for(int i=1;i<arr.length;i++) { 

    if(maxvalue<arr[i]) { 

     maxvalue = arr[i]; 
     maxs = new list(); 
     maxs.append(i); 
    } 

    else if(maxvalue==arr[i]) { 

     maxs.append(i); 
    } 

} 

print(maxvalue,maxs); 
Смежные вопросы