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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
#1

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

04.02.2014, 05:57. Просмотров 1036. Ответов 11
Метки нет (Все метки)

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

Поменять местами минимальный и максимальный элементы массива - C++
Необходимо написпть программу, которая меняет местами минимальный и максимальный елемент массива местами, далее не трогая текущие...

Поменять местами минимальный и максимальный элементы массива - C++
#include <iostream> using namespace std; void main () { int a; int i,k=0,g,n,min,max; cin>>n;

Поменять местами минимальный и максимальный элементы массива - C++
:(Поменять местами минимальный и максимальный елементы масива размером 10.Обезательно использывать функцыю

Поменять местами минимальный и максимальный элементы массива - C++
Добрый день! Проблема заключается в следующем: Дан массив a из 10 элементов,нужно найти минимальное и максимальное число и после того...

Поменять местами минимальный и максимальный элементы массива - C++
68. Поменять местами минимальный и максимальный элементы массива размера 10. 81. Дан массив размера N. Найти номера двух ближайших...

Найти максимальный и минимальный элементы массива S(n) и поменять их местами - C++
написать на С++) и + блок-схемы(время неи денег нет а проги надо написать помогите кно нить) 1. Найти максимальный и минимальный...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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
55 / 48 / 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
55 / 48 / 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
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
04.02.2014, 11:20 #9
Добавлено через 1 минуту

Не по теме:

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

Ev[G]eN
Эксперт С++
5097 / 1535 / 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, матрица - это двухмерный массив !
Ev_Hyper
Заблокирован
04.02.2014, 14:13 #12
Цитата Сообщение от Xopecc Посмотреть сообщение
Ev_Hyper, матрица - это двухмерный массив !
правильно. А строка/столбец это одномерный, разобрались?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 14:13
Привет! Вот еще темы с ответами:

Поменять местами минимальный и максимальный элементы одномерного массива - C++
Здравствуйте. Помогите пожалуйста с заданием. Нужно поменять местами минимальный и максимальный элементы массива.

Поменять местами минимальный и максимальный элементы рандомного массива - C++
мне нужно поменять местами минимальный и максимальный элементы рандомного массива вот текст программы #include&lt;iostream.h&gt; ...

Поменять местами первый минимальный и последний максимальный элементы массива - C++
&quot;Дан одномерный целочисленный массив из N элементов, заданных случайными числами на промежутке [a; b). Поменять местами первый минимальный...

Поменять местами максимальный и минимальный элементы - C++
А вот ету задачку поможете решить????? Поменять местами максимальный и минимальный элементы.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.02.2014, 14:13
Ответ Создать тему
Опции темы

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