Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.170.183] |
|
Сообщ.
#1
,
|
|
|
Максимальный элемент поменять местами со вторым нулевым.
Помогите пожалуйста с программой на с++, зарание спасибо |
Сообщ.
#2
,
|
|
|
За один проход как-то так:
void Obmen( double *x, int k) // k-кол-во { int index_nul = -2, index_max; double m = x[index_max=0]; // максимальный пока этот for( int i=0; i<k; i++) { if( x[i]>m ) m = x[index_max=i]; // поиск максимума if( index_nul<0 ) // ещё не найден второй ноль if( x[i]==0 ) if( ++index_nul>=0 ) // о, второй ноль найден! index_nul = i; // запомним место } if( index_nul>=0 ) // есть с кем менять // обмен m = x[index_nul], x[index_nul] = x[index_max], x[index_max] = m; } |