Форум программистов, компьютерный форум CyberForum.ru

Поменять местами минимальный и максимальный элементы массива - C++

Восстановить пароль Регистрация
 
Saddiel
 Аватар для Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
04.02.2014, 05:57     Поменять местами минимальный и максимальный элементы массива #1
Привет всем, помогите составить программку для этой задачи.
Поменять местами минимальный и максимальный элементы массива. Использовать функцию для каждой строки матрицы В (5, 4).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 05:57     Поменять местами минимальный и максимальный элементы массива
Посмотрите здесь:

C++ Поменять местами минимальный и максимальный элементы массива
Поменять местами минимальный и максимальный элементы файла C++
C++ Поменять местами максимальный и минимальный элементы
C++ Найти максимальный и минимальный элементы массива S(n) и поменять их местами
C++ Поменять местами минимальный и максимальный элементы массива
Поменять местами минимальный и максимальный элементы массива C++
Поменять местами минимальный и максимальный элементы массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
04.02.2014, 09:32     Поменять местами минимальный и максимальный элементы массива #2
Saddiel, что за функция такая ?

Не по теме:

C++
1
В (5, 4)

Ev_Hyper
Заблокирован
04.02.2014, 09:47     Поменять местами минимальный и максимальный элементы массива #3
Xopecc, это размерность матрицы.
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
04.02.2014, 09:53     Поменять местами минимальный и максимальный элементы массива #4
Ev_Hyper, лучше бы он так написал:
C++
1
int B[5][4];
Кстати я немного не понял, поменять элементы в массиве, но использовать функцию с матрицей
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
04.02.2014, 10:26     Поменять местами минимальный и максимальный элементы массива #5
Вот функция:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void swapMaxMin(int *mass, int size) 
{
  int iMax, iMin, max, min;
  iMax=iMin=0;
  max=min=mass[0];
  for (int i=1; i < size; i++) {
     if(mass[i]>max) {max = mass[i]; iMax=i;}
     if(mass[i]<min) {min = mass[i]; iMin=i;}
  }
  int b = mass[iMax];
  mass[iMax]=mass[iMin];
  mass[iMin]=b;
}
Ну вот и все вроде
Ev_Hyper
Заблокирован
04.02.2014, 10:47     Поменять местами минимальный и максимальный элементы массива #6
Цитата Сообщение от Xopecc Посмотреть сообщение
лучше бы он так написал:
чем лучше? Это условие задачи, а не кусок кода.

Цитата Сообщение от Xopecc Посмотреть сообщение
Кстати я немного не понял, поменять элементы в массиве, но использовать функцию с матрицей
что тут непонятного? Матрица тот же массив.
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
04.02.2014, 10:50     Поменять местами минимальный и максимальный элементы массива #7
Цитата Сообщение от Xopecc Посмотреть сообщение
Кстати я немного не понял, поменять элементы в массиве, но использовать функцию с матрицей
Вообще в условии было сказано так:
Использовать функцию для каждой строки матрицы В (5, 4).
Там не было про функцию с матрицей.
Ev_Hyper
Заблокирован
04.02.2014, 11:02     Поменять местами минимальный и максимальный элементы массива #8
ShadowFirst, можно чуть упростить функцию, у нас же размерность задана:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void obmen(int *C)
{
    int min=0,max=0,temp;
    for(int i=1;i<4;i++)
    {
        if(C[min]>C[i]) min = i;
        if(C[max]<C[i]) max=i;
    }
    temp = C[min];
    C[min]=C[max];
    C[max]=temp;
}
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
04.02.2014, 11:20     Поменять местами минимальный и максимальный элементы массива #9
Добавлено через 1 минуту

Не по теме:

нашли к чему придраться

Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 11:28     Поменять местами минимальный и максимальный элементы массива #10
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
43
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <random>
#include <vector>
 
void minimalAndMaximalSwap(std::vector <int> &currentMatrixRow);
 
int main()
{
    std::default_random_engine generator;
    std::uniform_int_distribution <> distribution(-15, 15);
 
    const size_t rowsCount = 5;
    const size_t colsCount = 4;
 
    std::vector <std::vector <int>> matrix(rowsCount, std::vector <int> (colsCount, 0));
    std::cout << "Matrix: " << std::endl;
    for (auto &currentMatrixRow : matrix) {
        for (auto &currentRowElement : currentMatrixRow) {
            std::cout << std::setw(5) << (currentRowElement = distribution(generator));
        }
        std::cout << std::endl;
    }
    
    std::cout << "New matrix: " << std::endl;
    for (auto &currentMatrixRow : matrix) {
        minimalAndMaximalSwap(currentMatrixRow);
        for (auto currentRowElement : currentMatrixRow) {
            std::cout << std::setw(5) << currentRowElement;
        }
        std::cout << std::endl;
    }
 
    std::system("pause");
    return 0;
}
 
void minimalAndMaximalSwap(std::vector <int> &currentMatrixRow)
{
    std::iter_swap(std::min_element(currentMatrixRow.begin(), currentMatrixRow.end()),
                   std::max_element(currentMatrixRow.begin(), currentMatrixRow.end()));
}
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
04.02.2014, 11:48     Поменять местами минимальный и максимальный элементы массива #11
Ev_Hyper, матрица - это двухмерный массив !
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 14:13     Поменять местами минимальный и максимальный элементы массива
Еще ссылки по теме:

Поменять местами максимальный и минимальный элементы матрицы C++
Поменять местами минимальный и максимальный элементы рандомного массива C++
Поменять местами первый минимальный и последний максимальный элементы массива C++
Поменять местами минимальный и максимальный элементы одномерного массива C++
Поменять местами минимальный и максимальный элементы массива C++

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

Или воспользуйтесь поиском по форуму:
Ev_Hyper
Заблокирован
04.02.2014, 14:13     Поменять местами минимальный и максимальный элементы массива #12
Цитата Сообщение от Xopecc Посмотреть сообщение
Ev_Hyper, матрица - это двухмерный массив !
правильно. А строка/столбец это одномерный, разобрались?
Yandex
Объявления
04.02.2014, 14:13     Поменять местами минимальный и максимальный элементы массива
Ответ Создать тему
Опции темы

Текущее время: 01:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru