0 / 0 / 2
Регистрация: 19.01.2017
Сообщений: 33
1

Вылетает программа при ее запуске

17.09.2017, 20:54. Показов 1601. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заданы две квадратные матрицы B и C порядка n. Вычислить матрицу А, каждый элемент которой определяется по формуле: ai,j {bi,j если |bi,j|<|ci,j ,ci,j если |bi,j|>=|ci,j| , i,j = 1...n.
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
procedure TForm1.Button1Click(Sender: TObject);
var
  matrB: Array[1..10,1..10] of integer;
  matrC: Array[1..10,1..10] of integer;
  matrA: Array[1..10,1..10] of integer;
  i, j: Integer;
begin
  for i := 1   to B_SG.RowCount do
      for j := 1 to B_SG.ColCount do
          matrB[i,j] := StrToInt(B_SG.cells[j-1,i-1]);
  for i := 1   to C_SG.RowCount do
      for j := 1 to C_SG.ColCount do
          matrC[i,j] := StrToInt(C_SG.cells[j-1,i-1]);
  for i := 1   to A_SG.RowCount do
      for j := 1 to A_SG.ColCount do
          matrA[i,j] := StrToInt(A_SG.cells[j-1,i-1]);
         if matrB[i,j]>matrC[i,j] then
         begin
           matrA[i,j]:=MatrB[i,j];
           A_SG.Cells[i-1,j-1]:=IntToStr(MatrA[i,j])
           end
           else
           begin
           matrA[i,j]:=MatrC[i,j];
           A_SG.Cells[i-1,j-1]:=IntToStr(matrA[i,j]);
         end;
  end;
А ошибку выдает : EConvertError with message '' is not a valid date.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2017, 20:54
Ответы с готовыми решениями:

Возможно ли сделать такую программу, которая при запуске проверяет, установлена ли какая-либо программа
Возможно сделать такую программу которая при запуске проверяет установлена какая-либо программа...

Программа вылетает при запуске
День всем добрый! Я недавно заметил такую особенность. Если размещать файл программы по...

Программа вылетает при запуске
День всем добрый! Я недавно заметил такую особенность. Если размещать файл программы по...

Программа вылетает при запуске. OutOfMemryError
Здравствуйте, уважаемые разработчики! Моя программа вылетает сразу при запуске. Вот код ошибки:...

8
Заблокирован
17.09.2017, 21:08 2
JackGG, привыкайте индексировать массивы с нуля. Это сложившаяся и устоявшаяся практика. Судя по тексту, исключение генерируется во время преобразования типов. Вы можете более подробно узнать в отладчике. Скорее всего входные данные не корректны.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32822 / 21160 / 8147
Регистрация: 22.10.2011
Сообщений: 36,417
Записей в блоге: 8
17.09.2017, 21:17 3
Цитата Сообщение от cybersatyr Посмотреть сообщение
Это сложившаяся и устоявшаяся практика
Это сложившаяся и устоявшаяся практика там, где массивы не могут индексироваться не с нуля. Не надо переносить Сишные и подобных языков проблемы на Паскаль и его потомков. Тут этих проблем просто нет. Хочу - индексирую с 0, хочу - с 1-цы, хочу - с (-10).

А теперь по теме: нужен полный код или проект, чтобы понять, что не так. Потому что в приведенном куске кода нет никаких действий с датами, а исключение выбрасывается при попытке преобразовать незаполненное поле в дату.
0
cybersatyr
17.09.2017, 22:54
  #4

Не по теме:

Цитата Сообщение от volvo Посмотреть сообщение
Это сложившаяся и устоявшаяся практика там, где массивы не могут индексироваться не с нул
Это общепринятая практика в целях унификации и облегчения читаемости. Предлагаю более не обсуждать вопрос в этой теме. Кстати, если не трудно, напомните пожалуйста функцию "взятия" минимального и максимального индекса массива. Вылетело из головы.

0
438 / 367 / 132
Регистрация: 09.09.2011
Сообщений: 1,333
17.09.2017, 23:29 5
Цитата Сообщение от cybersatyr Посмотреть сообщение
Кстати, если не трудно, напомните пожалуйста функцию "взятия" минимального и максимального индекса массива. Вылетело из головы.
Low/High
1
0 / 0 / 2
Регистрация: 19.01.2017
Сообщений: 33
18.09.2017, 13:35  [ТС] 6
Цитата Сообщение от volvo Посмотреть сообщение
Это сложившаяся и устоявшаяся практика там, где массивы не могут индексироваться не с нуля. Не надо переносить Сишные и подобных языков проблемы на Паскаль и его потомков. Тут этих проблем просто нет. Хочу - индексирую с 0, хочу - с 1-цы, хочу - с (-10).

А теперь по теме: нужен полный код или проект, чтобы понять, что не так. Потому что в приведенном куске кода нет никаких действий с датами, а исключение выбрасывается при попытке преобразовать незаполненное поле в дату.
Вот проект полностью
Вложения
Тип файла: rar SG.rar (4.01 Мб, 2 просмотров)
0
пофигист широкого профиля
4731 / 3166 / 858
Регистрация: 15.07.2013
Сообщений: 18,231
18.09.2017, 15:03 7
В 20 и 25 строчках в свойстве Cells перепутаны индексы i и J
0
0 / 0 / 2
Регистрация: 19.01.2017
Сообщений: 33
18.09.2017, 16:19  [ТС] 8
Цитата Сообщение от northener Посмотреть сообщение
В 20 и 25 строчках в свойстве Cells перепутаны индексы i и J
Исправил, но ошибка осталась
0
Модератор
9224 / 6008 / 2373
Регистрация: 21.01.2014
Сообщений: 25,657
Записей в блоге: 3
19.09.2017, 12:43 9
А Вы даже ошибку правильно процитировать не можете:
EConvertError with message "" is an invalid integer - вот Ваша ошибка.
По существу... Помимо индексов уберите строку 16. Она там совершенно не нужна.

Добавлено через 4 минуты
И кстати, такая ошибка будет возникать всегда, если Вы не делаете проверок на заполненность ячеек СтрингГрида!
0
19.09.2017, 12:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2017, 12:43
Помогаю со студенческими работами здесь

Программа вылетает при запуске из консоли ( утечка)
Добрый день. Столкнулся с интересной проблемой. Написал программу(см.ниже, в ней две небольших...

При запуске с Дискретной карты Вылетает Ошибка Будь эта игра или программа
Ноутбук Lenova z570 Core i5 Nvidea 540m 2g 6gb ОЗУ Проблема в том что при запуске игры...

При запуске новой деятельности вылетает с ошибкой (программа легкая для тех, кто программирует под android)
Здравствуйте! Начал недавно изучать программирование под android, реализовал пять деятельностей в...

При запуске из среды программа работает, при запуске выполняемого файла выдает ошибку
Добавлено через 1 минуту 35 секунд как исправить ошибки в названии темы? там должно было быть...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru