Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237

Ошибки в программе

31.07.2009, 13:16. Показов 4145. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться с ошибками.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Button1: TButton;
    Label2: TLabel;
    procedure StringGrid1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.StringGrid1Click(Sender: TObject);
var a:array[1..3] of real;
i:integer;
begin
for i:=1 to 3
a[i]:=strtoint(stringgrid1.Cells)
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var    a:array[1..3] of real;
d:real;
begin
d:=a[1]*a[5]*a[9]-a[1]*a[6]*a[8]-a[2]*a[4]*a[9]+a[2]*a[6]*a[7]+a[3]*a[4]*a[8]-a[3]*a[5]*a[7];
label1.Caption:=floattostr(d);
end;
 
end.
Добавлено через 5 минут 53 секунды
Вот какие ошибки:
'D0'expected but identifier 'a' found
constant expression violates subrange bounds
constant expression violates subrange bounds
constant expression violates subrange bounds
constant expression violates subrange bounds
constant expression violates subrange bounds
constant expression violates subrange bounds
could not compile used unit 'Unit1.pas'
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.07.2009, 13:16
Ответы с готовыми решениями:

Найти ошибки в данной программе (известно что есть только 2 ошибки)
У меня в модуле с програмирования задание: Найти ошибки в данной программе (известно что есть только 2 ошибки) .model small .data ...

Ошибки в программе
Запутался я с программой, может быть свежий взгляд осветит мои ошибки. а вот ее условие: Создать программу, которая работает по...

Ошибки в программе
Помогите, пожалуйста, понять почему возникают следующие ошибки: Main.java:5: error: cannot find symbol ArrayList<Egg> myList =...

47
1 / 1 / 0
Регистрация: 29.07.2009
Сообщений: 14
31.07.2009, 16:26
Студворк — интернет-сервис помощи студентам
[QUOTE=Jazon_deenAlt;229769]а етот код давайте разберем)
Delphi
1
2
3
4
repeat //повторяем следуещие
StringGrid1.Cells[i,j]:=IntToStr(Random(10)); //задаем ячейке число 
a[i,j]:=strtoint(stringgrid1.Cells[i,j]) //присваиваем ето число матрице
until StringGrid1.Cells[i,j]<>'0' //пока ета ячейка не равна 0
тоесть в результате все ячейки и елементы матрицы будут равны 0)))

Не будут они равны 0, неправильное понимание цикла. Здесь происходит след:
until StringGrid1.Cells[i,j]<>'0' //ДО ТЕХ ПОР ПОКА ЭТА ЯЧЕЙКА НЕ БУДЕТ РАВНА 0!!!!
ТО есть если ячейка равна 0, то ей присваивается новое значение StringGrid1.Cells[i,j]:=IntToStr(Random(10))
0
 Аватар для Jazon_deenAlt
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
31.07.2009, 16:35
Meh, да, вы правы) затупил))) прошу прощения) четто с чем-то спутал)
0
1 / 1 / 0
Регистрация: 29.07.2009
Сообщений: 14
31.07.2009, 16:36
Добавлено через 35 секунд
Цитата Сообщение от Jazon_deenAlt Посмотреть сообщение
Meh, да, вы правы) затупил))) прошу прощения) четто с чем-то спутал)
Бывает) Ничего страшного)
0
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
 Аватар для TAVulator
4191 / 1292 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
31.07.2009, 16:37
млин... чего вы мучаетесь?

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.Button1Click(Sender: TObject);
var
 A: array[1..3,1..3] of integer;
 i,j: byte;
 D: integer;
begin
stringgrid1.FixedCols:=0;
stringgrid1.FixedRows:=0;
stringgrid1.RowCount:=3;
stringgrid1.ColCount:=3;
Randomize;
For i:=1 to 3 do
 For j:=1 to 3 do
  Begin
   A[i,j]:= Random(100);
   stringgrid1.Cells[i-1,j-1]:=inttostr(A[i,j]);
  End;
D:=a[1,1]*a[2,2]*a[3,3]-a[1,1]*a[2,3]*a[3,2]-a[1,2]*a[2,1]*
   a[3,3]+a[1,2]*a[2,3]*a[3,1]+a[1,3]*a[2,1]*a[3,2]-a[1,3]*
   a[2,2]*a[3,1];
label1.Caption:='Оперделитель: '+inttostr(D);
end;
проверил - работает.
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,892
31.07.2009, 16:37
Цитата Сообщение от Meh Посмотреть сообщение
Delphi
1
until StringGrid1.Cells[i,j]<>'0' //ДО ТЕХ ПОР ПОКА ЭТА ЯЧЕЙКА НЕ БУДЕТ РАВНА 0!!!!
ТО есть если ячейка равна 0, то ей присваивается новое значение StringGrid1.Cells[i,j]:=IntToStr(Random(10))
Meh, специфика цикла с постусловием REPEAT, такова, что выход из него будет совершен, если условие после UNTIL ложно (читай, равно False).
0
 Аватар для Jazon_deenAlt
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
31.07.2009, 16:47
lexus_ilia, глобальненько) спасибо мне может пригодитса) ато я все
Delphi
1
2
3
4
5
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',',','-']) then
key:=#14;
end;
юзал)

Добавлено через 8 минут 30 секунд
polivets, нє-нє-нє... он прав) после антила условия выхода из цыкла) тоесть если то что после антила = тру тогда цыкл кончаетса)))

Добавлено через 1 минуту 22 секунды
ето в вайле пока тру цыкл крутитса а если фальш то заканчиваетса)
0
31.07.2009, 16:48

Не по теме:

Всех СисАдминов с праздником! Пошел пить пиво)

0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,892
31.07.2009, 16:51
polivets, нє-нє-нє... он прав) после антила условия выхода из цыкла) тоесть если то что после антила = тру тогда цыкл кончаетса)))
да ты прав, после того, как написал, только понял, что написал.
Meh, извини.
0
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
 Аватар для TAVulator
4191 / 1292 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
31.07.2009, 16:58
Цитата Сообщение от янгл Посмотреть сообщение
Нужны не случайные числа, а те, которые вводятся в StringGrid1.
а ну тогда вот так:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
procedure TForm1.Button1Click(Sender: TObject);
var
 A: array[1..3,1..3] of integer;
 i,j: byte;
 D: integer;
begin
stringgrid1.FixedCols:=0;
stringgrid1.FixedRows:=0;
stringgrid1.RowCount:=3;
stringgrid1.ColCount:=3;
Randomize;
For i:=1 to 3 do
 For j:=1 to 3 do
  Begin
   If stringgrid1.Cells[i-1,j-1]<>'' then
   A[i,j]:= strtoint(stringgrid1.Cells[i-1,j-1])
   else Begin
   A[i,j]:= 0;
   stringgrid1.Cells[i-1,j-1]:='0';
   end;
  End;
D:=a[1,1]*a[2,2]*a[3,3]-a[1,1]*a[2,3]*a[3,2]-a[1,2]*a[2,1]*
   a[3,3]+a[1,2]*a[2,3]*a[3,1]+a[1,3]*a[2,1]*a[3,2]-a[1,3]*
   a[2,2]*a[3,1];
label1.Caption:='Оперделитель: '+inttostr(D);
end;
 
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
var
 s: string;
begin
If not (Key in ['0'..'9']) then
 key:=#0;
end;
проверил - работает.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
31.07.2009, 18:07
If not (Key in ['0'..'9']) then
Добавил бы сюда #8 и '-', причем разрешить минус только первым символом.
0
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
31.07.2009, 18:35  [ТС]
TAVulator работает.
Только вот не понятно
Delphi
1
If stringgrid1.Cells[i-1,j-1]<>''
'' это то же самое, что 0?
И почему в
Delphi
1
stringgrid1.Cells[i-1,j-1]:='0';
0 стоит в ковычках?

Да и, как глобально объявлять массив?
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,892
31.07.2009, 18:48
Delphi
1
stringgrid1.Cells[i-1,j-1]:='0';
0 стоит в ковычках?
В стринггриде элементы храняться в текстовом представлении, именно по этому
Delphi
1
If stringgrid1.Cells[i-1,j-1]<>''
не то же самое, что
Delphi
1
If stringgrid1.Cells[i-1,j-1]<>'0'
0
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
31.07.2009, 18:52  [ТС]
Как глобально объявлять массив?
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,892
31.07.2009, 19:00
Цитата Сообщение от янгл Посмотреть сообщение
Как глобально объявлять массив?
в твоем первом посте видишь строки 23-24
Delphi
1
2
3
4
var
  Form1: TForm1;
  // здесь твой массив
  Massiv : array[1..3, 1..3] of Real;
0
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
31.07.2009, 19:08
Delphi
1
2
StringGrid1.Cells[i,j]:=IntToStr(Random(10));
  a[i,j]:=strtoint(stringgrid1.Cells[i,j])
Лучше
Delphi
1
2
a[i,j]:=Random(10);
StringGrid1.Cells[i,j]:=IntToStr(a[i,j]);
Меньше вычислений.

Добавлено через 2 минуты 3 секунды
Цитата Сообщение от polivets Посмотреть сообщение
в твоем первом посте видишь строки 23-24
Delphi
1
2
3
4
var
  Form1: TForm1;
  // здесь твой массив
  Massiv : array[1..3, 1..3] of Real;
Лучше
Delphi
1
2
3
4
Type
  Mass=array[1..3, 1..3] of Real;
var 
  Massiv :Mass;
Так нагляднее, что Mass - отдельный тип данных.
0
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
31.07.2009, 19:15  [ТС]
Я пишу процедуру для кнопки очистки таблицы stringgrit. В ней каждому элементу массива присваивается значение 0:
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button3Click(Sender: TObject);
i,j:byte;
begin
For i:=1 to 3 do
 For j:=1 to 3 do
  begin
  a[i,j]:=0;
  end;
end;
он говорит, что неизвестна директива i и не описаны идентификаторы i,j.
Вроде все в var
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,892
31.07.2009, 19:17

Не по теме:

Так нагляднее, что Mass - отдельный тип данных.
Не знаю, я не считаю, что этот метод нагляднее, наоборот неопытного программиста, может запутать такое объявление... В данном случае это не отдельный тип данных, а отдельная сущность.

Незнаю, незнаю, дело вкуса.



янгл, вопрос разрешен? топик закрывать?
0
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
31.07.2009, 19:18
Не знаю. Я var в строке
Delphi
1
i,j:byte;
не вижу)
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,892
31.07.2009, 19:18
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button3Click(Sender: TObject);
var i,j:byte;
begin
For i:=1 to 3 do
 For j:=1 to 3 do
  begin
  a[i,j]:=0;
  end;
end;
0
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
31.07.2009, 19:20
Не знаю, я не считаю, что этот метод нагляднее, наоборот неопытного программиста, может запутать такое объявление... В данном случае это не отдельный тип данных, а отдельная сущность.
Сори, но я сказал так, как советовали в институте. Еще раз сори)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.07.2009, 19:20
Помогаю со студенческими работами здесь

Ошибки в программе.
Не смог найти как создать тему. И потом возможно ВЫ то ребята и сможете помочь. Вопрос простой но где то, не доглядел - Помогите ПОЖ. ...

Ошибки в программе
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;string&gt; using namespace std; int main() { int arr; for (int(i) = 0; i &lt;...

Ошибки в программе
Программа не запускается.Выдает ошибку.Код прочитала два раза от и до.Не понимаю почему не запускается. Помогите пожалуйста...

Ошибки в программе
нельзя преобразовать тип boolean к real/ Program T3; uses crt; var x, p: array of real; {массивы под значения} c:...

Ошибки в программе
1) Задумывалась как тестирующая программа. 2) ряд ошибок, в том числе и Undeclared identifier: 'RandomRange' 3) unit Unit1; ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru