Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 11
1

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

22.07.2012, 13:17. Просмотров 585. Ответов 5
Метки нет (Все метки)

прошу помочь



найдите минимальный и максимальный элемент массива и поменяйте их местами
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2012, 13:17
Ответы с готовыми решениями:

Поменяйте местами максимальный и минимальный элемент массива
Помогите студенту, проверив правильность написания программы! Задача #2. Составьте программу...

Поменяйте местами минимальный элемент и максимальный элемент массива
№1: Дан одномерный массив. Поменяйте местами минимальный элемент и максимальный элемент. ...

Поменяйте местами минимальный элемент и максимальный элемент массива
Уважаемые, помогите написать алгоритм решения этих 3 задачек по массивам. А то с ними я не...

Найдите в массиве максимальный и минимальный элемент в массиве и поменяйте их местами
11. С клавиатуры вводится массив до «нуля». Найдите в нем максимальный и минимальный элемент в...

5
1311 / 973 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
22.07.2012, 13:26 2
Можно вот так сделать

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
37
38
39
40
41
42
#include <iostream> 
using namespace std; 
int main() 
{   
    const int size = 5;
    int array[size] = { 11, 23, 5, 67, 8 }; 
    int i;  
    int max, min; 
    int index_max, index_min;
 
    for ( i = 0; i < size; i++) 
        cout << array[i] << " "; 
    cout << endl;  
 
    max = array[0]; 
    index_max = 0; 
 
    for ( i = 1; i < size; i++)  
        if(max < array[i]) 
        { 
            max = array[i]; 
            index_max = i; 
        } 
 
        min = array[0]; 
        index_min = 0;
 
        for ( i = 1; i < size; i++)  
            if( min > array[i]) 
            { 
                min = array[i]; 
                index_min = i; 
            }  
 
            int temp = array[index_max]; 
            array[index_max] = array[index_min]; 
            array[index_min] = temp; 
 
            for ( i = 0; i < size; i++) 
                cout << array[i] << " "; 
            cout << endl;
}
1
6214 / 3515 / 899
Регистрация: 28.10.2010
Сообщений: 5,926
22.07.2012, 13:27 3
min_element
max_element
swap
0
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
22.07.2012, 13:30 4
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
#include <iostream>
#include <windows.h>
#include <climits>
using namespace std;
 
int main()
{
    int arr[10], min=INT_MAX, max=INT_MIN, minIndex, maxIndex, temp;
    
    cout << "Введите 10 целых чисел: ";
    for (int i=0; i<10; i++)
    {
        cin >> arr[i];
        
        if (arr[i] < min)
        {
            min = arr[i];
            minIndex = i;
        }
        
        if (arr[i] > max)
        {
            max = arr[i];
            maxIndex = i;
        }
    }
    
    temp = min;
    arr[minIndex] = max;
    arr[maxIndex] = temp;
        
   return 0;
}
1
Эксперт С++
340 / 304 / 36
Регистрация: 16.06.2009
Сообщений: 486
22.07.2012, 13:32 5
Или так..

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
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main() {
   int array[] = { 11, 23, 5, 67, 8 }; 
   int size = sizeof(array) / sizeof(*array);
   
   std::swap(
      *std::max_element(
         array,
         array + size
      ),
      *std::min_element(
         array,
         array + size
      )
   );
   
   std::copy(
      array,
      array + size,
      std::ostream_iterator <int>(std::cout, " ")
   );
}
1
1311 / 973 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
22.07.2012, 13:37 6
Пользуясь советами уважаемого Петррр можно сделать так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream> 
#include <algorithm>
using namespace std; 
int main() 
{   
    const int size = 5;
    int array[size] = { 11, 23, 5, 67, 8 }; 
    int i;  
    
   for ( i = 0; i < size; i++) 
        cout << array[i] << " "; 
    cout << endl;   
 
    swap(*max_element(array, array+size), *min_element(array, array+size));  
 
    for ( i = 0; i < size; i++) 
        cout << array[i] << " ";
    cout << endl;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2012, 13:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Одномерные массивы: Сформируйте новый массив В(N), в котором поменяйте местами максимальный и минимальный элемент массива К(N)
Составьте программу нахождения максимального и минимального значения одно-мерного массива К(N)...

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

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

Найдите максимальный и минимальный элементы в массиве и поменяйте их местами
Входные данные На вход программе сначала подается значение n &lt;=100 — количество элементов в...

Найдите в каждой строке матрицы максимальный и минимальный элементы и поменяйте их местами
найдите в каждой строке матрицы максимальный и минимальный элементы и поменяйте их...

Поменяйте местами максимальный и минимальный элементы массива
1. Пользователь вводит массив, предварительно указав его размер. Поменяйте местами максимальный и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.