Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
flambo
27 / 27 / 7
Регистрация: 03.10.2009
Сообщений: 122
1

почему возникает ошибка не соответствия форматов

30.12.2009, 15:38. Просмотров 614. Ответов 5
Метки нет (Все метки)

задана матрица(a[i,j],i=j <=15) и два множества содержащие номера столбцов и строк
нужно найти сумму элементов, которые есть базовыми для этих множеств
и произведение остальных

насколько я понял ошибка происходит на этапе добавления номеров в множества,
в чем ошибка данного действия ?
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
var a: array [1..15,1..15] of integer;
i,j,n  : integer;
d,s : integer;
r,st : set of 1..15;
begin
n:=strtoint(edit1.text);
for I:=1 to n do
for j:=1 to n do
a[i,j]:=strtoint(stringgrid1.cells[j-1,i-1]);
r:=[]; st:=[]; d:=1;s:=0;
for i:=0 to n-1 do
r:=r+[strtoint(memo1.lines[i])];
for j:=0 to n-1 do
st:=st+[strtoint(memo2.lines[j])];
for i:=0 to n-1 do
for j:=0 to n-1 do  begin
if (i in r) and (j in st)
then s:=s+a[i,j]
else d:=d*a[i,j];     end;
 
edit2.Text:=inttostr(d);
edit2.Text:=inttostr(s);
 
 
 
end;

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Вложения
Тип файла: zip Архив ZIP - WinRAR.zip (236.3 Кб, 19 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2009, 15:38
Ответы с готовыми решениями:

почему возникает ошибка 102
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Почему возникает I/O error 103 - 'File not open'?
почему может не работать такой код? procedure TForm1.Button2Click(Sender: TObject); begin...

Иногда возникает ошибка
Есть код конструктора теста. Иногда возникает ошибка Invalid File Name при вводе названия теста....

Возникает ошибка 'is not a floating point value'
Здравствуйте! При нажатии на кнопку возникает ошибка: 'is not a floating point value' Просмотрела...

Периодически возникает ошибка Access Violation
Периодически возникает ошибка Access Violation Вот код TSort = class A : tarray; ...

5
Biggemot
163 / 141 / 23
Регистрация: 28.12.2009
Сообщений: 367
30.12.2009, 16:43 2
в ячейки stringgrid и memo нужно что-то поместить прежде чем выполнять функцию StrToInt

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
var a: array [1..15,1..15] of integer;
i,j,n  : integer;
d,s : integer;
r,st : set of 1..15;
begin
n:=strtoint(edit1.text);
for I:=1 to n do
  for j:=1 to n do begin
    stringgrid1.cells[j-1,i-1]:='0';     // например, заполняем нулями
    a[i,j]:=strtoint(stringgrid1.cells[j-1,i-1]);
  end;
 
r:=[]; st:=[]; d:=1;s:=0;
 
for i:=1 to n do begin
  memo1.lines[i-1]:='0';                 // например, заполняем нулями
  r:=r+[strtoint(memo1.lines[i-1])];
end;
 
for j:=1 to n do begin
  memo2.lines[j-1]:='0';                 // например, заполняем нулями
  st:=st+[strtoint(memo2.lines[j-1])];
end;
 
for i:=1 to n do
  for j:=1 to n do  begin
    if (i in r) and (j in st)
    then s:=s+a[i,j]
    else d:=d*a[i,j];
  end;
edit2.Text:=inttostr(d);
edit2.Text:=inttostr(s);
 
end;
можно и руками в StringGrid вводить в работающей проге
0
conn
115 / 114 / 22
Регистрация: 29.08.2009
Сообщений: 174
30.12.2009, 16:52 3
там возникает ошибка "..is not valid integer value..", если вы про нее, то это происходит потому что в обоих memo первая строка пустая и функция StrToInt вызывает ошибку при попытке преобразования пустой строки в число. Через Object Inspector в Memo1 и Memo2 - Lines удалите пустую строку, что бы курсор стоял в самом начале.
0
flambo
27 / 27 / 7
Регистрация: 03.10.2009
Сообщений: 122
30.12.2009, 19:24  [ТС] 4
Цитата Сообщение от conn Посмотреть сообщение
там возникает ошибка "..is not valid integer value..", если вы про нее, то это происходит потому что в обоих memo первая строка пустая и функция StrToInt вызывает ошибку при попытке преобразования пустой строки в число. Через Object Inspector в Memo1 и Memo2 - Lines удалите пустую строку, что бы курсор стоял в самом начале.
да, я имел ввиду эту ошибку, курсор помещаю начиная с первой строчки, с самого начала, результат тот же
как именно через инспектор объектов?

Добавлено через 16 минут
Цитата Сообщение от conn Посмотреть сообщение
Через Object Inspector в Memo1 и Memo2 - Lines удалите пустую строку, что бы курсор стоял в самом начале.
вы, наверно, имели ввиду свойство lines, оно изначально было установлено количеством строк равным 0
0
conn
115 / 114 / 22
Регистрация: 29.08.2009
Сообщений: 174
31.12.2009, 00:19 5
Запускайте программу в режиме трассировки (F7) и смотрите на значение переменных в момент возникновения ошибки (что бы посмотреть наведите курсор на переменную, а что бы посмотреть значение выражения наведите курсор в конец выражения), найдите в какой строке происходит ошибка.. Скорее всего она происходит в момент вызова функции StrToInt(), в нее передается не верное значение, возможно с индексами напутано. Или не все значения вводите в форме. У вас должно быть так (исходя из кода) если размерность матрицы N, то в Memo1 и Memo2 должно быть введено не менее и не более N строк. В общем если начинать ввод с первой строки Memo и вводить правильное кол-во входных данных то прикрепленный проект работает.
1
Biggemot
163 / 141 / 23
Регистрация: 28.12.2009
Сообщений: 367
31.12.2009, 03:12 6
Цитата Сообщение от conn Посмотреть сообщение
Запускайте программу в режиме трассировки (F7) и смотрите на значение переменных в момент возникновения ошибки (что бы посмотреть наведите курсор на переменную, а что бы посмотреть значение выражения наведите курсор в конец выражения), найдите в какой строке происходит ошибка.. Скорее всего она происходит в момент вызова функции StrToInt(), в нее передается не верное значение, возможно с индексами напутано. Или не все значения вводите в форме. У вас должно быть так (исходя из кода) если размерность матрицы N, то в Memo1 и Memo2 должно быть введено не менее и не более N строк. В общем если начинать ввод с первой строки Memo и вводить правильное кол-во входных данных то прикрепленный проект работает.
в общем я это и сказал, но только может быть не очень понятно
0
31.12.2009, 03:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2009, 03:12

Возникает ошибка Undeclared identifier: 'Form23'
procedure TForm10.ComboBox4Change(Sender: TObject); begin IF ComboBox4.ItemIndex=0 then ...

При открытии второго окна возникает ошибка
unit Menu; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Возникает ошибка при записи в файл Excel
При написания кода в Delphi ( приведенного ниже) компиляция происходит нормально, без ошибок. Но...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru