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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2008, 21:23   #1
sting
Форумчанин
 
Аватар для sting
 
Регистрация: 03.07.2008
Сообщений: 114
По умолчанию Проблема с задачей на одномерный массив в Делфи 7

Здравствуйте Друзя!

Я выполняю лабы по делфи щас! и столкнулся с ерундой прям какой то!
Делаю всё по метадички! вот она:

Цитата:
1.4 Пример выполнения задания
В целочисленном массиве А(10) найти максимальный и минимальный эле-менты и поменять их местами.
Решение
1 Откроем новый проект, используя команду главного меню File | New | Appli-cation.
2 Из страницы Standard поместим на Forml следующие компоненты Edit, But-ton и List Box (Combo Box).
3 С помошью Инспектора Объектов зададим в качестве значения для свойства Text компонента Edit1 пустую строку. Установим для левой кнопки значение свойст-ва Caption равным 'Ввод', а для правой - 'Решение'.
4 В разделе interface вставим описание массива а и используемых переменных:
а:аггау [1. .10] of integer;
i, min,max,imax,imin: integer;
5 Выполним двойной щелчок по форме Forml, в результате чего будет создана заготовка события OnCreate для формы, возникающего в момент создания формы. Размещение операторов в этом обработчике во многих случаях эквивалентно разме-щению операторов в секции initialization модуля. Поместим там следующие строки:
i:=0;
ListBoxl. Clear ListBox2.Clear;
6 Активизируем двойным щелчком кнопку "Ввод" и в заготовку обработчика события OnClick поместим следующий код:
ListBoxl.Items.Add(Editl.Text);
i := i+1;
a[i] := StrToInt(Editl.Text);
Editl.SetFocus
7 Активизируем кнопку "Решение" и в заготовку обработчика события помес-тим следующий текст:
max := a[l];
imax := 1;
min := a[l];
imin : = 1;
for k := 2 to 10 do
begin
if max < a[k] then
begin
max := a[k];
imax := k
end;
if min > a[k] then
begin
min := a[k];
imin := k
end;
end;
a [imax] := min;
a [imin] := max;
for k := 1 to 10 do
ListBox2.Items.Add(IntToStr(a[k]));
8 Для удобства работы с приложением создадим обработчик события OnKey-Down для строки ввода Editl, в котором при нажатии на клавишу Enter фокус ввода будет переводиться на кнопку "Ввод":
if key = 13 then Buttonl.SetFocus
9 Сохраним проект при помощи команды главного меню File | Save All.
10 Запустим программу с помощью клавиши F9. Для ввода целых чисел ис-пользуем строку ввода Edit. Ввод каждого числа завершаем нажатием кнопки Enter либо щелчком мыши по кнопке "Ввод". Введенные числа отображаются в первом списке. После нажатия на клавишу "Решение" получим результат во втором списке.

Приведем полный текст сформированного модуля

Текст модуля Unitl.pas
Код:
unit  Unitl; interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; 
	Type
	TForml = class (TForm)	
Editl:   TEdit;
ListBoxl:   TLlstBox;
ListBox2:   TListBox;
Buttonl:   TButton;
Button2:   TButton;
procedure  ButtonlClick(Sender:   TObject);
procedure  FormCreate(Sender:   TObject);
procedure  ButtonZClick(Sender:   TObject);
procedure  EditlKeyDown(Sender:   TObject;   var  Key:   Word;
Shift:   TShiftState) ; 
private
{ Private  declarations   } 
public
{ Public  declarations   } 
end;
var
Forml:   TForml;
a:array[l. .10]   of   integer;
i, min,max,imax,imin:integer;
implementation 
{$R *.DFM}
procedure TForml.ButtonlClick(Sender:   TObject);
begin
ListBoxl.Items.Add(Editl.Text);
i := i+1;
a[i]   :=  StrToInt(Editl.Text);
Editl. SetFocus end;
procedure TForml .FormCreate (Sender:   TObject);
begin
i:=0;
ListBoxl.Clear;
ListBox2.Clear; end;
procedure TForml.Button2Click(Sender:   TObject); var k:integer; 
begin
max := a[l]; 
imax  :=  1; min  :=  a[l]; 
imin   : =   1;
for k  :=  2  to   10   do 
begin
if max  <  a[k]   then 
begin
max   :=  a[k]; imax   :=  k
end;	
		if min>a[k]then
begin
min   :=   a[k]; imin   :=  k
		end;
	end;
a[imax]:= min;
a[imin]:=max;
for k:= 1 to 10 do
	ListBox.Items.Add(IntToStr(a[k]));
End;

Procedure TForm1.Edit1KeyDown(Sender: Tobject; var Key: Word; Shift: Shift-State);
Begin
If  key=13 then Button1.SetFocus
End;
End.
вот...
Я делаю всё так же! а она не запускается у меня! ругается на вот эту строчку:

Цитата:
а:аггау [1. .10] of integer;
i, min,max,imax,imin: integer;
На 8 попробовал - так же!

в чём проблема?
Люди гибнут за МЕТАЛ!!!
sting вне форума Ответить с цитированием
Старый 18.09.2008, 21:48   #2
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

возможно нужно убрать пробел между точками? [1..10] вместо [1. .10]
Упс...

Последний раз редактировалось L_M; 18.09.2008 в 21:50.
L_M вне форума Ответить с цитированием
Старый 18.09.2008, 21:53   #3
sting
Форумчанин
 
Аватар для sting
 
Регистрация: 03.07.2008
Сообщений: 114
По умолчанию

в книжках так вроде!
Люди гибнут за МЕТАЛ!!!
sting вне форума Ответить с цитированием
Старый 18.09.2008, 21:55   #4
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

не надо так
Упс...
L_M вне форума Ответить с цитированием
Старый 18.09.2008, 21:56   #5
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

вообще книжку надо прочитать, а потом, закрыв ее, писать программу
Упс...
L_M вне форума Ответить с цитированием
Старый 18.09.2008, 21:57   #6
sting
Форумчанин
 
Аватар для sting
 
Регистрация: 03.07.2008
Сообщений: 114
По умолчанию

ну блин в паскале так как ты гаваришь помоему.. а в делфи нет па ходу.. хотя мож ошибаюсь
Люди гибнут за МЕТАЛ!!!
sting вне форума Ответить с цитированием
Старый 18.09.2008, 22:01   #7
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

да нет в дельфи именно так
Упс...
L_M вне форума Ответить с цитированием
Старый 18.09.2008, 22:03   #8
sting
Форумчанин
 
Аватар для sting
 
Регистрация: 03.07.2008
Сообщений: 114
По умолчанию

с 3 точками? слушай попробуй у себя сделать.. а? мож у тебя с 2 пойдёт? а то мож у меня как всегда делфи тупит!
Люди гибнут за МЕТАЛ!!!
sting вне форума Ответить с цитированием
Старый 18.09.2008, 22:08   #9
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

и вообще поисправляй везде l на 1
Упс...
L_M вне форума Ответить с цитированием
Старый 18.09.2008, 22:12   #10
sting
Форумчанин
 
Аватар для sting
 
Регистрация: 03.07.2008
Сообщений: 114
По умолчанию

во! спасибо! он теперь начал ругаться на вот эту строчку!, хотя там 1 исправил!
Код:
imin   : =   1;
Люди гибнут за МЕТАЛ!!!
sting вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерный массив ldx Паскаль, Turbo Pascal, PascalABC.NET 4 06.06.2008 17:45
VBA. Одномерный массив ExMatiss Microsoft Office Excel 9 07.05.2008 05:57
одномерный массив fatdog Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 23.02.2008 10:05
Массив Одномерный flait111 Помощь студентам 3 15.12.2007 14:08
Одномерный массив SkyDreamer Помощь студентам 1 01.12.2007 21:22