Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 19
1

Поменять местами все максимальные элементы массива на минимальный и наоборот

03.01.2019, 21:43. Показов 2837. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дорогие братья программисты!
Передо мной стоит задача
Напишите программу, которая запрашивает натуральное число*N*(не более 100), далее последовательность из*N*чисел, заменяет все максимальные элементы на минимальные, а минимальные на максимальные, оставив остальные элементы без изменения, и выводит полученный массив.
Пока что, у меня получается поменять местами только первые максимум и минимум. Но в тестах их много. Может быть, например, один минимум и три максимума или наоборот. Наобходимо поменять ВСЕ!
Подскажите плиз, как это возможно. ничего не нагуглить не смогла.((
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2019, 21:43
Ответы с готовыми решениями:

Поменять местами в файле минимальный и максимальные элементы
Дан файл вещественных чисел. Поменять в нём местами минимальный и максимальные элементы. На ум...

Поменять местами минимальный и максимальные элементы заштрихованной части матрицы
Помогите пожалуйста решить(двумерный массив): Дана квадратная матрица (10х10). Поменять местами...

Поменять местами строки в матрице А(4,4) содержащие минимальный и максимальные элементы
Поменять местами строки в матрице А(4,4) содержащие минимальный и максимальные элементы

Поменять местами максимальные элементы массива
В массивах A и B поменять местами максимальные элементы в первой и второй половинах массивов....

11
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
03.01.2019, 22:07 2
Цитата Сообщение от Dosia 77 Посмотреть сообщение
как это возможно.
Имхо, это невозможно. Поменять местами 1 число с тремя, кажется, еще никому не удавалось...
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.01.2019, 01:00 3
Лучший ответ Сообщение было отмечено Dosia 77 как решение

Решение

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
#include <iostream>
using namespace std;
 
int main()
{
    int N;
    //cout <<"N="; 
    cin >>N;
 
    double*a = new double[N], max=0.0, min=0.0;
 
    //cout <<"Enter "<<N<<" elements:\n";
    for (int i = 0; i < N; i++)
       {
       cin >>a[i];
       if (i==0 || a[i]>max) max=a[i];
       if (i==0 || a[i]<min) min=a[i];
       }
      
    for (int i = 0; i < N; i++)
       {
       if (a[i]==max) a[i]=min;
       else if (a[i]==min) a[i]=max;
       cout <<a[i]<<" ";
       }
       cout <<endl;
 
    delete[]a;
system("pause");
return 0;
}
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
04.01.2019, 10:45 4
Цитата Сообщение от Dosia 77 Посмотреть сообщение
заменяет все максимальные элементы на минимальные, а минимальные на максимальные,
Составителю задачи следует непременно что-нибудь оторвать. Только вот надо подумать, сначала голову от тела, а потом все остальное, или наоборот, тело от головы, а уж потом...
0
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 19
04.01.2019, 16:53  [ТС] 5
Это не работает. Совсем.

Добавлено через 4 минуты
Задача решаема. Я нагуглила решение на языке Паскаль.Уьверждают, что рабочее. Выглядит примерно так же, как то которое мне выслвли. Я и сама пыталась до того его воплотить. Но нет. Не пойму что не так.
Придётся, видимо, тупить дальше. Изобретать велосипед. Очень хочется решить.

Добавлено через 12 минут
Yetty,
Спасибо! Работает. Правда, у вас пропущен один цикл. Но когда я его вставила, то всё заработало.)))
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.01.2019, 17:10 6
Цитата Сообщение от Dosia 77 Посмотреть сообщение
Спасибо! Работает. Правда, у вас пропущен один цикл.
Dosia 77, какой цикл пропущен ?
0
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 19
04.01.2019, 17:34  [ТС] 7
Yetty, После cin>>a[i]; Нужен цикл for для обработки массива. Без него всё остаётся на своих местах.
0
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
04.01.2019, 17:58 8
Dosia 77, не знаю о каком цикле вы говорите, у Yetty, все правильно, может вы после ввода n не вводите элементы ?
0
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 19
04.01.2019, 18:05  [ТС] 9
Разумеется, ввожу. Куда ж без них?)))
Ну, попробуйте сами. Если ввести код, как он выложен, то ничего местами не меняется. просто распечатывает массив, БЕЗ изменений. Если добавить цикл, то всё работает, как надо.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.01.2019, 18:09 10
Dosia 77, специально закомментировал строки 7 и 12 (так как с тестами). снимите комменты и попробуйте ещё раз.
0
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
04.01.2019, 18:11 11
Dosia 77,
Миниатюры
Поменять местами все максимальные элементы массива на минимальный и наоборот  
0
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 19
04.01.2019, 18:31  [ТС] 12
obivan,
странно. теперь работает. Возможно, я что-то пропустила. Я ведь не копировала. я с телефона и решения не копируются. Наверно, неправильно списала. Что ж, тогда я отправила решение с лишним циклом.)) Ну, так или иначе решение правильное. Спасибо за отзывчивость. На будущее учту все свои ошибки.
0
04.01.2019, 18:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.01.2019, 18:31
Помогаю со студенческими работами здесь

Поменять местами максимальные и минимальные элементы массива
Массив А заполнен случайным образом целыми числами.Поменять местами максимальные и минимальные...

Поменять местами максимальные элементы массива и матрицы
Мне нужно решить задачу &quot;Поменять местами максимальные элементы массива А (45) и матрицы В...

Массив. Поменять местами максимальные и минимальные элементы массива
Здраствуйте,помогите решить задачу Дана квадратная матрица поменять местами максимальные и...

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru