Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2009, 10:45   #1
Ainur
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 29
По умолчанию Не выводит минимальный по модулю

procedure TForm1.Button1Click(Sender: TObject);
var i,n,b,c,d,x:integer;
a:array of integer;
begin
SetLength(a,5);
\ a[0]:=5;
a[1]:=2;
a[2]:=6;
a[3]:=-3;
a[4]:=9;
for i:=1 to 5 do a[i]:=random(100)-50;
x:=a[1];
b:=a[1];
c:=a[1];
d:=a[1];
for i:=2 to 5 do
begin
if a[i]>x then x:=a[i];
if a[i]<b then b:=a[i];
if abs(a[i])>abs(c) then c:=a[i];
if abs(a[i])<abs(x) then d:=a[i];
end;
Edit2.text:='max='+IntToStr(x)+' min='+IntToStr(b)+' max_abs='+IntToStr(c)+' min_abs='+IntToStr(d);
Выходит ошибка когда ввожу числа!!! Помоги пожалуйста у меня экзамен!!!!
Ainur вне форума Ответить с цитированием
Старый 23.05.2009, 10:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

какая ошибка?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.05.2009, 11:34   #3
Ainur
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 29
По умолчанию

НЕ ВЫВОДИТ МИНИМАЛЬНЫЙ ПО МОДУЛЮ
Ainur вне форума Ответить с цитированием
Старый 23.05.2009, 11:52   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,n,b,c,d,x,k:integer;
a:array of integer;
begin
SetLength(a,5);
a[0]:=5;
a[1]:=2;
a[2]:=6;
a[3]:=-3;
a[4]:=9;
for i:=0 to 4 do a[i]:=random(100)-50;
k:=a[0]
for i:=0 to 4 do if a[i]>k then k:=a[i];
x:=k;
k:=a[0];
for i:=0 to 4 do if a[i]<k then k:=a[i];
b:=k;
k:=a[0];
for i:=0 to 4 do if abs(a[i])>abs(k) then k:=a[i];
c:=k;
k:=a[0];
for i:=0 to 4 do if abs(a[i])<abs(k) then k:=a[i];
x:=k;
Edit2.text:='max='+IntToStr(x)+' min='+IntToStr(b)+' max_abs='+IntToStr(c)+' min_abs='+IntToStr(d);
вроде так

у вас динамический массив и индексация идет с нуля
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы к модулю Red_Line Помощь студентам 0 09.04.2009 16:56
[pascal]вычеркивание минимальный цифр из числа decantnik Помощь студентам 4 25.02.2009 14:56
найти минимальный елемент bbk_serg Помощь студентам 1 10.01.2009 17:35
форма к модулю Ilius Общие вопросы C/C++ 18 13.12.2008 16:20
Найти минимальный и максимальный из элементов deu4er Помощь студентам 3 13.11.2008 08:49