Top.Mail.Ru
Ответы

Найти максимальный и минимальный элемент в массиве и поменять их местами. С++

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
15лет

cоnst N = 10;
int array[ N ];
int min; int max;

{...} \\ ввод массива

min=array[0];
max=array[0];

for( i = 0; i < N; ++i )
{
if( array[ i ] < min ) min = array[ i ];
if( array[ i ] > max ) max = array[ i ];
}

ну уж как вывести знаешь наверно

Аватар пользователя
Знаток

#include <iostream>
using namespace std;
int main(){
int min = 999999, max = 0, imax, imin, i=0;
float ar[10] = {1,2,3,4,5,6,7,8,9,10};
for (i = 0; i < 10; ++i){
if (ar[i] < min) min = ar[i], imin = i;
if (ar[i] > max) max = ar[i], imax = i;
}
ar[imin] = max, ar[imax] = min;
cout << "massiv: ";
for (int j = 0; j < 10; j++)
cout << ar[j] << " ";
}

Аватар пользователя
Профи
15лет

вверху почти всё верно, но добавочка.. , нужно ведь нам поменять местами? !

cоnst N = 10;
int array[ N ];
int min = 99999, max = 0, imax, imin;

{...} // ввод массива

for( i = 0; i < N; ++i )
{
if( array[ i ] < min ) min = array[ i ], imin = i;
if( array[ i ] > max ) max = array[ i ], imax = i;
}

array[imin] = max, array[imax] = min;

всё легко и просто, just turn your stupid brain

Аватар пользователя
Гуру
15лет

не знаю С++, но могу сказать примерно, делаешь процедуру обмена местави 2-х чисал
потом находишь мин и мах элементы, и к ним процедуру обмена