Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 24.11.2018
Сообщений: 3

Найти в Memo максимальное и минимальное число и поменять их местами

24.11.2018, 22:02. Показов 3993. Ответов 8

Студворк — интернет-сервис помощи студентам
Добрый день.
Дан Мемо, в который записано 10 рандомных чисел.
Нужно найти максимальное и минимальное число, вывести в Edit1 и Edit2 их адреса, а сами строки поменять местами.
Битый час не могу вдуплить, как это реализовать. Help please.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2018, 22:02
Ответы с готовыми решениями:

Поменять местами минимальное и максимальное число
Помогите, пожалуйста! При вводе трех чисел надо поменять местами минимальное и максимальное число. Мой код: # include...

Найти максимальное и минимальное значения массива и поменять их местами
Господа программисты,неофиту очень нужна ваша помощь. Дан одномерный масив D(80) Найти: максимальное и минимальное значения,и поменять...

Найти максимальное и минимальное из трех значений и поменять их местами
Доброго времени суток, нужна помощь чайнику в с++ Даны три числа а, Ь, с. Найти максимальное и минимальное из них и поменять их...

8
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 22:38
Лучший ответ Сообщение было отмечено SuntTania как решение

Решение

SuntTania, надо только начать.
и решение прийдет само.

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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int max=0, min=0;
String s1,s2;
 for (int i = 0; i < Memo1->Lines->Count-1; i++)
 for (int n = 1; n < Memo1->Lines->Count; n++)
 {
  if(StrToInt(Memo1->Lines->Strings[i])>StrToInt(Memo1->Lines->Strings[n])
  && StrToInt(Memo1->Lines->Strings[i])>StrToInt(Memo1->Lines->Strings[max]))
  {
   max = i; s1=Memo1->Lines->Strings[i];
  }
  if(StrToInt(Memo1->Lines->Strings[i])<StrToInt(Memo1->Lines->Strings[n])
  && StrToInt(Memo1->Lines->Strings[i])<StrToInt(Memo1->Lines->Strings[min]))
  {
   min = i; s2=Memo1->Lines->Strings[i];
  }
 }
 Edit1->Text = s1;
 Edit2->Text = s2;
 Memo1->Lines->Strings[max]=s2;
 Memo1->Lines->Strings[min]=s1;
}
//---------------------------------------------------------------------------
1
0 / 0 / 0
Регистрация: 24.11.2018
Сообщений: 3
24.11.2018, 22:46  [ТС]
Все сработало, спасибо большое
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 23:05
Лучший ответ Сообщение было отмечено SuntTania как решение

Решение

здесь будет работать даже если минимальное и максимальное числа будут стоять по краям т.е. в первой строке и в последней.
и немного упростить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int max, min;
String s1="0",s2="10";
 for (int i = 0; i < Memo1->Lines->Count; i++)
 for (int n = 1; n < Memo1->Lines->Count; n++)
 {
  if(StrToInt(Memo1->Lines->Strings[i])>StrToInt(s1))
  {
   max = i; s1=Memo1->Lines->Strings[i];
  }
  if(StrToInt(Memo1->Lines->Strings[i])<StrToInt(s2))
  {
   min = i; s2=Memo1->Lines->Strings[i];
  }
 }
 Edit1->Text = s1;
 Edit2->Text = s2;
 Memo1->Lines->Strings[max]=s2;
 Memo1->Lines->Strings[min]=s1;
}
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
24.11.2018, 23:22
Кто-нибудь мне объяснит, на кой тут двойной цикл?
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    int max = -1, min = -1;
    for (int i = 0; i < Memo1->Lines->Count; i++)
    {
        min = (min < 0) ? i : (Memo1->Lines->Strings[i].ToInt() < Memo1->Lines->Strings[min].ToInt()) ? i : min;
        max = (max < 0) ? i : (Memo1->Lines->Strings[i].ToInt() > Memo1->Lines->Strings[max].ToInt()) ? i : max;
    }
    Edit1->Text = min;
    Edit2->Text = max;
    Memo1->Lines->Exchange(min, max);
}
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 23:38
volvo,
все имеют право на решение.
ваше выдало вот это.
Миниатюры
Найти в Memo максимальное и минимальное число и поменять их местами  
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 23:38
может надо так?
C++
1
2
    Edit1->Text = min+1;
    Edit2->Text = max+1;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
24.11.2018, 23:42
С ним что, что-то не так?
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
24.11.2018, 23:47
в моем коде забыл убрать(закоментить) один цикл.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    int max, min;
    String s1="0",s2="10";
     for (int i = 0; i < Memo1->Lines->Count; i++)
     //for (int n = 1; n < Memo1->Lines->Count; n++)
     {
      if(StrToInt(Memo1->Lines->Strings[i])>StrToInt(s1))
      {
       max = i; s1=Memo1->Lines->Strings[i];
      }
      if(StrToInt(Memo1->Lines->Strings[i])<StrToInt(s2))
      {
       min = i; s2=Memo1->Lines->Strings[i];
      }
     }
     Edit1->Text = s1;
     Edit2->Text = s2;
     Memo1->Lines->Strings[max]=s2;
     Memo1->Lines->Strings[min]=s1;
как видно , тоже один цикл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2018, 23:47
Помогаю со студенческими работами здесь

Найти максимальное и минимальное значение матрицы и поменять их местами
Найти максимальное и минимальное значение матрицы и поменять их местами

Найти минимальное и максимальное значение массива, поменять их местами
1)Сгенерировать массив из 10 вещественных элементов, лежащих в диапазоне от -20 до 20. Найти минимальное и максимальное значение массива,...

Найти максимальное и минимальное значения элементов массива Х и поменять их местами
Найти максимальное и минимальное значения элементов массива Х и поменять их местами

Найти максимальное и минимальное значение массива, затем поменять их местами
кто может помочь исправить ошибку, нужно найти максимальное и минимальное значение массива, затем поменять их местами. Sub massiv() Dim...

Найти максимальное и минимальное значение элементов массива Х и поменять их местами
Найти максимальное и минимальное значение элементов массива Х и поменять их местами


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru