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

Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) - C++

Восстановить пароль Регистрация
 
victoriana
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 14
26.02.2013, 09:55     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) #1
задан массив x(n).элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы.помогите как найти и поменять местами max и min плз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2013, 09:55     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы)
Посмотрите здесь:

C++ Дан массив А[0:n-1].Поменять местами его минимальный чётный и максимальный нечетный элементы
C++ В массиве целых чисел поменять местами минимальный и максимальный элементы
C++ В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами.
Поменять в массиве местами первый максимальный и последний минимальный элементы C++
C++ В двумерном массиве размерностью nxm поменять местами минимальный и максимальный элементы каждой строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
26.02.2013, 09:58     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) #2
Чем помочь?
victoriana
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 14
26.02.2013, 12:15  [ТС]     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) #3
как найти и поменять местами max и min???
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
26.02.2013, 12:17     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) #4
1. Пройтись по всему массиву, найти мин/макс
1.1 Запоминаете в переменной min значение первого элемента массива, проходите по всему массиву через цикл for, сравниваете если элемент меньше значения min, записываете новое значение в min, в отдельную переменную запоминаете позицию этого элемента. С max поступаете аналогично.
2. Воспользоваться функцией std::swap, <algorithm>
victoriana
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 14
26.02.2013, 12:24  [ТС]     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) #5
а чем можно заменить функцию std::swap, <algorithm>??
kran69
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 9
26.02.2013, 12:30     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) #6
Самый простой метод найти мин и макс, так это looр'ить через весь массив и сравнивать элементы друг с другом, что-то типа этого:

C++
1
2
3
4
5
6
7
8
9
int min(int myArr[], int size)
{
    int min = myArr[0];
    for (int i = 1; i < size; ++i)
    {
        if(min >= myArr[i]) { min = myArr[i]; }
    }
    return min;
}
что-бы найти макс, нужно только знак равенства поменять. Это не самый лучший способ, так как через один и тот-же массив придеться лупить два раза, есть более эффективные алгоритмы, но они сложнее. Так-же, зависит от того какой контейнер изпользуеться - в set уже все элементы уникальны и уже упорядочные, то есть все что нужно так это вызвать первый и последний элемент.

Как только будет известно мин и макс, можешь написать использовать std::swap. А можно немного поменять алгоритм мин и макс, так-что вместо элемента функция вернула-бы индекс и самому(ой) написать функцию которая поменяет мин и макс в массиве.

Добавлено через 4 минуты
Цитата Сообщение от victoriana Посмотреть сообщение
а чем можно заменить функцию std::swap, <algorithm>??
можно самому(ой) написать swap:

C++
1
2
3
4
5
6
void swapMinAndMax(int myArr[], int indexOfMin, int indexOfMax)
{
    int min = myArr[indexOfMin];
    myArr[indexOfMin] = myArr[indexOfMax];
    myArr[indexOfMax] = min;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2013, 12:30     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы)
Еще ссылки по теме:

Поменять местами максимальный и минимальный элементы в массиве C++
C++ Одномерный массив. Поменять местами минимальный и максимальный элемент
Дан массив действительных чисел A размера n. Найти и поменять местами его минимальный и максимальный элементы C++

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

Или воспользуйтесь поиском по форуму:
victoriana
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 14
26.02.2013, 12:30  [ТС]     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) #7
спасибо большое
Yandex
Объявления
26.02.2013, 12:30     Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы)
Ответ Создать тему
Опции темы

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