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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2012, 08:41   #1
skorik-1992
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 19
По умолчанию ошибка "Constant expression violates subrange bounds"(Delphi)

Всем доброго времени суток. Возникает такая ошибка - "Constant expression violates subrange bounds", на этой строке - "a[11]:=StrToFloat(edt1.Text);" и в последующих идентично. Не понимаю в чём проблема, вот код программы:
Код:
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
  a:array[1..3,1..3] of Real;
  b:array[1..3] of Real;
  x:array[1..3] of Real;
  k:array[1..3] of Real;
  i,g:Integer;
const
  esp=0.0001;
label 1;
begin
a[11]:=StrToFloat(edt1.Text);
a[12]:=StrToFloat(edt2.Text);
a[13]:=StrToFloat(edt3.Text);
a[21]:=StrToFloat(edt4.Text);
a[22]:=StrToFloat(edt5.Text);
a[23]:=StrToFloat(edt6.Text);
a[31]:=StrToFloat(edt7.Text);
a[32]:=StrToFloat(edt8.Text);
a[33]:=StrToFloat(edt9.Text);

b[1]:=StrToFloat(edt10.Text);
b[2]:=StrToFloat(edt11.Text);
b[3]:=StrToFloat(edt12.Text);

for i:=1 to 3 do x[i]:=0;

1:  k[1]:=(b[1]-a[12]*x[2]-a[13]*x[3])/a[11];
    k[2]:=(b[2]-a[21]*x[1]-a[23]*x[3])/a[22];
    k[3]:=(b[3]-a[31]*x[1]-a[32]*x[2])/a[33];
if (Abs(k[1]-x[1])>esp) or (Abs(k[2]-x[2])>esp) or (Abs(k[3]-x[3]>esp) then
begin
  for i:=1 to 3 do x[i]:=k[i];
  goto 1;
end;

for i:=1 to 3 do x[i]:=k[i];

edt13.Text:=FloatToStr(x[1]);
edt14.Text:=FloatToStr(x[2]);
edt15.Text:=FloatToStr(x[3]);
end;

end.
Пожалуйста, подскажите в чём проблема и как это исправить, заранее спасибо!
skorik-1992 вне форума Ответить с цитированием
Старый 27.04.2012, 09:05   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

a: array[ 1..3 , 1..3 ] of Real;

a[ 11 ]:=.....
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.04.2012, 09:06   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,821
По умолчанию

а откуда у вас возьмется 11-й элемент в а? быстро смотреть в книге как обращаются к двумерным массивам
p51x вне форума Ответить с цитированием
Старый 27.04.2012, 09:12   #4
skorik-1992
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 19
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
а откуда у вас возьмется 11-й элемент в а? быстро смотреть в книге как обращаются к двумерным массивам
блин, точно, вот балда) забыл, что там запятую между элементами нужно ставить. Спасибо большое за подсказку.
skorik-1992 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошбка "Constant expression violates subrange bounds" skorik-1992 Помощь студентам 0 26.04.2012 16:11
Ошибка "Expecting a valid name" для оператора "<" в JScript Ратибор Редоран JavaScript, Ajax 0 15.12.2011 14:38
Ошибка:является "поле" но используется как "метод" hitman47IT Помощь студентам 0 22.11.2011 20:55
expexted primary expression before "void" Юлькo Помощь студентам 1 13.06.2010 22:05
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06