Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.11.2012, 16:57
maxmaslo maxmaslo вне форума
Прохожий
 
Регистрация: 25.09.2012
Сообщения: 36
Репутация: 10
По умолчанию найти max и min элементы массива и поменять их местами

вывод обязательно в listbox. ввод из memo. ошибка после нажатия на button.
Код:
procedure TForm1.Button1Click(Sender: TObject);
const N=10;
var m:array [1..N] of real;
j,p,i,er:integer;
max,min:real;
st,sa:string;
begin
for i:=1 to N do
begin
sa:=memo1.lines[i-1];
val(sa,m[i],er);
end;
max:=m[1];
min:=m[1];
for i:=2 to N do
begin
if m[i]>max then
begin
max:=m[i];
j:=i;
end;
if m[i]<min then
begin
min:=m[i];
p:=i;
end;
end;
end;
m[j]:=min;
m[p]:=max;
str(m[i]:2:1,st);
listbox1.Items.Add(st);
end.
Ответить с цитированием
  #2  
Старый 20.11.2012, 17:06
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от maxmaslo
вывод обязательно в listbox. ввод из memo. ошибка после нажатия на button.
Какая ошибка?
Ответить с цитированием
  #3  
Старый 20.11.2012, 17:07
maxmaslo maxmaslo вне форума
Прохожий
 
Регистрация: 25.09.2012
Сообщения: 36
Репутация: 10
По умолчанию

выводит в listbox 0
Ответить с цитированием
  #4  
Старый 20.11.2012, 17:14
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от maxmaslo
выводит в listbox 0
Тебе нужно вывести в ListBox минимальное и максимальное значение?
Вот их и выводи, а не m[i]:
Код:
  ListBox1.Items.Add(FloatToStr(min));
  ListBox1.Items.Add(FloatToStr(max));
Ответить с цитированием
  #5  
Старый 20.11.2012, 17:17
maxmaslo maxmaslo вне форума
Прохожий
 
Регистрация: 25.09.2012
Сообщения: 36
Репутация: 10
По умолчанию

вывести нужно массив, не дописал, извини
Ответить с цитированием
  #6  
Старый 20.11.2012, 17:25
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от maxmaslo
вывести нужно массив, не дописал, извини
Сначала в цикле ищешь индексы максимального и минимального элемента (это у тебя есть).
Потом меняешь местами эти элементы массива (это у тебя тоже есть).
А потом нужно ещё один цикл организовать для вывода этого массива в ListBox1:
Код:
  for i := 1 to N do
  begin
    ListBox1.Items.Add(FloatToStr(m[i]));
  end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025