Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 36

Дан массив из N чисел. Найти наибольший элемент массива и поменять его местами с наименьшим элементом

11.09.2014, 20:15. Показов 4446. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти наибольший элемент массива и поменять его местами с наименьшим элементом.
Builder. C++
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.09.2014, 20:15
Ответы с готовыми решениями:

Одномерный массив. Найти наибольший элемент массива и поменять его местами с наименьшим элементом
Дан массив из N чисел. Найти наибольший элемент массива и поменять его местами с наименьшим элементом.

Найти наибольший чёрный элемент массива и поменять его местами с наименьшим нечетным элементом
Найти наибольший чёрный элемент массива и поменять его местами с наименьшим нечетным элементом. Если одного из такого элемента нет, то всем...

Дан массив X(N).Найти наибольший элемент и поменять его местами с первым элементом.
Добрый день.Помогите, пожалуйста, решить задачу. Дан массив X(N).Найти наибольший элемент и поменять его местами с первым элементом.

34
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 36
11.09.2014, 22:16  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от BlackIce Посмотреть сообщение
исправлять нечего, надо дописывать программу.
А чего здесь не хватает?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
11.09.2014, 22:16
Цитата Сообщение от BlackIce Посмотреть сообщение
Сможете так же шаблоную функцию написать? Чтобы работала с целыми, с плавающей запятой, строками?
разумеется нет
я же сказал
Цитата Сообщение от ValeryS Посмотреть сообщение
сильно пьющие
не надо требовать невозможного
и вообще я лично против шаблонов
каждой сущности свое решение, мое глубокое ИМХО,
нельзя "Вопрячь в одну телегу коня и трепетную лань"
0
318 / 180 / 73
Регистрация: 18.01.2014
Сообщений: 387
11.09.2014, 22:20
Цитата Сообщение от _Ivana Посмотреть сообщение
берем указатель на начало, приводим его к типу чар и побайтово проделываем фокусы ValeryS в цикле по всему сайзофу
Боюсь, это будет мало похоже на фокус со стаканом в рукаве

Цитата Сообщение от Asti7 Посмотреть сообщение
Можете,пожалуйста проверить,где ошибки и исправить?)))
Короче, это "мыло да мочало" надоело, вот ваша "исправленная" программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
#define N 10
 
int main(int argc, char* argv[]) {
    int i, tmp, a[N], imax = 0, imin = 0;
    for (i = 0; i < N; ++i) {
        cout << "A[i]=";
        cin >> a[i];
    }
    for (i = 1; i < N; ++i) {
        if (a[i] < a[imin]) imin = i;
        if (a[i] > a[imax]) imax = i;
    }
    tmp = a[imin];
    a[imin] = a[imax];
    a[imax] = tmp;
    cout << "result: ";
    for (i = 0; i < N; ++i) cout << a[i] << ' ';
    cout << endl;
    return 0;
}
0
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 36
11.09.2014, 22:21  [ТС]
Цитата Сообщение от BlackIce Посмотреть сообщение
исправлять нечего, надо дописывать программу
А чего здесь не хватает?

Добавлено через 1 минуту
Цитата Сообщение от BlackIce Посмотреть сообщение
Короче, это мыло да мочало надоело, вот ваша "исправленная" программа:
спасибо)))
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
11.09.2014, 22:22
Цитата Сообщение от _Ivana Посмотреть сообщение
Берем объект, берем его сайзоф в байтах, берем указатель на начало, приводим его к типу чар и побайтово проделываем фокусы
и получаем полную ерунду
с массивами строки не пробовал, но плавающие точно соврут, хотя кто его знает с бинаркой может и проканает
но еще раз, "бритва Оккамы" не плодите сущности без необходмости
почему в жизни мы разделяем сущности а в Си(плюсах) пытаемся их объединить???
еще раз я против огульного использования шаблонов
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
11.09.2014, 22:27
Цитата Сообщение от BlackIce Посмотреть сообщение
Боюсь, это будет мало похоже
По моему имху, надо различать фокусы наблюдаемые и настоящие Через ксор и арифметику - настоящие. А то, как это выглядит в строках кода еще ничего не говорит - посмотрите в ассемблерный листинг скомпилированного красиво выглядящего кода тех же питонов и рубей, и увидите там и циклы, и стаканы в рукавах

ЗЫ
Цитата Сообщение от BlackIce Посмотреть сообщение
Короче, это мыло да мочало надоело, вот ваша "исправленная" программа
Не вынесла душа поэта.... Халявщиков поощряете, надо было заставить его диваны двигать!

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
и получаем полную ерунду
с массивами строки не пробовал, но плавающие точно соврут, хотя кто его знает
С чего бы соврут-то? IEEE на текущей платформе для всех водоплавающих один и тот же, биг/литл эндиан для целы тоже... Нечему и не с чего там врать - все совпадет до бита.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
11.09.2014, 22:29
Цитата Сообщение от _Ivana Посмотреть сообщение
IEEE на текущей платформе для всех водоплавающих один и тот же,
не ну если побайтно то может и нет, в чистом виде соврут
но
Цитата Сообщение от ValeryS Посмотреть сообщение
не плодите сущности без необходмости
0
11.09.2014, 22:31

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
посмотрите в ассемблерный листинг скомпилированного красиво выглядящего кода тех же питонов и рубей
Все переменные в динамических ЯП, суть есть ссылочные, если бы питоны и руби были компилируемыми, то это в ассемблерном листинге выглядело бы, как обмен значений двух указателей через регистр, без всяких ксоров и арифметики.
Цитата Сообщение от _Ivana Посмотреть сообщение
Не вынесла душа поэта.... Халявщиков поощряете
Чесно, не хотел, см. самый первый ответ. Да, не вынесла...

0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
11.09.2014, 22:37
Побайтно (пословно, подвусловно и т.п.) - это и есть самое чистое представление объектов. Хотите пример? Одна бабка захотела сравнить на совпадение содержимое двух навороченных структур с кучей полей. Компилятор позволяет присваивать (копировать) структуры (в отличие от массивов), а сравнивать (по словам бабки, сам не проверял, хотя это дело пяти секунд) не позволяет. Так она таким образом и проводила сравнение - бежала чаровым указателем побайтно до конца, и при первом несовпадении выдавала различие. Конечно нужна гарантия, что объекты будут одинаково выравнены в памяти.

Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от BlackIce Посмотреть сообщение
как обмен значений двух указателей через регистр, без всяких ксоров и арифметики
Я надеюсь, что без ксоровских и арифметических фокусов, но я про это и говорил - регистр - третий стакан! :D
Цитата Сообщение от BlackIce Посмотреть сообщение
Чесно, не хотел, см. самый первый ответ. Да, не вынесла...
Регулярно наблюдаю подобное поведение вопрошающих, и всегда кто-то не выдерживает и раскалывается на код! :) Я решил было на Haskell код писать в ответ, да модератор погрозил :)

0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
11.09.2014, 22:56
Цитата Сообщение от _Ivana Посмотреть сообщение
Одна бабка захотела сравнить на совпадение содержимое двух навороченных структур с кучей полей. Компилятор позволяет присваивать (копировать) структуры (в отличие от массивов), а сравнивать (по словам бабки, сам не проверял, хотя это дело пяти секунд) не позволяет. Так она таким образом и проводила сравнение - бежала чаровым указателем побайтно до конца, и при первом несовпадении выдавала различие.
фиг вам
про выравнивание слышал
например
C++
1
2
3
4
struct A{
char a;
int b;
}
может развернутся в 8 байт
1 байт a 3 байта дыра и 4 байта b
так вот что будет в дыре никто не гарантировал
и если ты копируешь не memcpy а посимвольно
типа
C++
1
2
a.a=b.a;
a.b=b.b;
то сравнение побайтно может показать что структуры не равны
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
11.09.2014, 23:03
Ну я же оговорку про выравнивание сделал, чтобы оставить себе несожженный мост к отступлению Я с ней после этого про выравнивание и говорил, она меня убеждала что все окей и в егоё случае (какой-то микроконтроллер, может даже и восьмибитный) будет все хорошо.

Добавлено через 2 минуты
ЗЫ но даже если и будет дырка, и сравнение не прокатит, то своп прокатит. Просто мусор из дырки тоже засвопит Конечно, при условии одинаковых мест и количестве дырок, да-да-да
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
11.09.2014, 23:16
Цитата Сообщение от _Ivana Посмотреть сообщение
и сравнение не прокатит, то своп прокатит. Просто мусор из дырки тоже засвопит Конечно, при условии одинаковых мест и количестве дырок, да-да-да
места одинаковые и дырки одинаковые но значения в дырках разные
простой пример
C++
1
2
3
4
5
6
7
8
9
10
struct A{
char a;
int b;
}
 
A a;
A b;
memset(&a,0,sizeof(A));
b.a=a.a;
b.b=a.b;
а теперь побайто сравни эти структуры
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
11.09.2014, 23:23
Забыли про сравнение, это был просто лирический пример. Про своп продолжаем - если дырки тоже засвопятся, то вреда не будет, при чтении значений структуры они все равно не нужны. А "внешнее" содержимое структур засвопится и прочитается корректно, повторюсь, если расположение дырок совпадает.
0
11.09.2014, 23:32

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
Регулярно наблюдаю подобное поведение вопрошающих, и всегда кто-то не выдерживает и раскалывается на код!
Люди, бывает, месяцами мучаются Заполнить массив по спирали начиная с середины, ну как тут устоять и не пожалеть бедолагу? :D Хотя, подозреваю, в данном случае, в том же гугле этих спиральных матриц, хоть жопой ешь.

0
11.09.2014, 23:42

Не по теме:

Поэтому я и плюсую в темах
Проверить попадание каждой из точек в треугольник
Буллеан (степень) множества латинских прописных букв
Найти min по каждой строке матрицы и max по каждому столбцу
.....
Содержимое и климат форума зависит от модераторов и постоянных участников. Хотя, можно просто не замечать... Но правила то есть в конце концов - представь собственные попытки! :claim:

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2014, 23:42

Дан массив X(N). Найти наибольший элемент и поменять его местами с первым положительным элементом, если такой есть
Дан массив X(N). Найти наибольший элемент и поменять его местами с первым положительным элементом, если такой есть. Вроде как понял,...

В массиве из 6 целых чисел найти наибольший элемент и поменять его местами с первым элементом массива
Очень прошу, помогите развязать: 1)В массиве из 6 целых чисел найти наибольший элемент и поменять его местами с первым элементом массива ...

Найти наибольший элемент массива и поменять его местами с первым элементом
В массиве из 20 элементов найти наибольший элемент и поменять его местами с первым элементом.

Найти наибольший элемент массива и поменять его местами с первым элементом
Дан массив X(N). Найти наибольший элемент и поменять его местами с первым элементом.

Найти наибольший элемент массива и поменять его местами с последним элементом
В массиве из 15 вещественных чисел найти наибольший элемент n поменять его местами с последним элементом .


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru