Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
21 / 19 / 5
Регистрация: 08.09.2011
Сообщений: 370
1

Operator not applicable to this operand type

14.04.2013, 23:31. Показов 910. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
 a:array[1..n,1..n] of longint;
  b:array[1..n]of boolean;
  d:array[1..n] of longint;
  q, i, j, m, v: integer;
-----------------------------------------
 if ((a[v,j] <> -1) and (not b[j]) and (d[v]+a[v,j])) //Operator not applicable to this operand type
     then
         d[j] := d[v] + a[v,j];
не могу понять в чем дело?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2013, 23:31
Ответы с готовыми решениями:

Operator not applicable to this operand type
Ув.форумчане не могу разораться с проблемой ,на первой кнопке генератор псевдослучайной...

IN - Operator not applicable to this operand type
Что не так var m : array of integer; .... for j := 0 to OperationCount do if (j...

Ошибка operator not applicable to this operand type
Догадываюсь, что ошибка связана либо с типом данных, либо с делением. Но понять, в чем дело не...

Ошибка: Operator not applicable to this operand type
Помогите пожалуйста исправить ошибку. Задача Как успеть подешевле? Можно ехать на такси со...

9
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
14.04.2013, 23:52 2
А на каком месте (символе) компилятор выдает ошибку?
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
14.04.2013, 23:59 3
Цитата Сообщение от салома Посмотреть сообщение
не могу понять в чем дело?
Delphi
1
(d[v]+a[v,j])
выражение целочисленного типа (longint), чтобы не было ошибки тут должен быть логический тип (BOOL или Boolean), не знаю логики сравнения, предложу следующие варианты:
1 привести к типу BOOL -
Delphi
1
BOOL(d[v]+a[v,j])
2 сравнить с каким-либо значением (константой) -
Delphi
1
 ((d[v]+a[v,j])>=MaxInt)
0
21 / 19 / 5
Регистрация: 08.09.2011
Сообщений: 370
15.04.2013, 00:06  [ТС] 4
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
А на каком месте (символе) компилятор выдает ошибку?
в каком конце строки, перед then

Добавлено через 1 минуту
Цитата Сообщение от cotseec Посмотреть сообщение
Delphi
1
(d[v]+a[v,j])
выражение целочисленного типа (longint), чтобы не было ошибки тут должен быть логический тип (BOOL или Boolean), не знаю логики сравнения, предложу следующие варианты:
1 привести к типу BOOL -
Delphi
1
BOOL(d[v]+a[v,j])
2 сравнить с каким-либо значением (константой) -
Delphi
1
 ((d[v]+a[v,j])>=MaxInt)
появляется след ошибка, еще более не понятная
'j' expected but 'THEN' found
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
15.04.2013, 00:07 5
Цитата Сообщение от салома Посмотреть сообщение
появляется след ошибка, еще более не понятная
'j' expected but 'THEN' found
какой теперь код? похоже не все скобки закрыл или еще что-нибудь, лучше покажи всю процедуру
0
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
15.04.2013, 00:08 6
Цитата Сообщение от салома Посмотреть сообщение
в каком конце строки, перед then

Добавлено через 1 минуту


появляется след ошибка, еще более не понятная
'j' expected but 'THEN' found
Попробуй вставить j в строке где ошибка.
0
21 / 19 / 5
Регистрация: 08.09.2011
Сообщений: 370
15.04.2013, 00:17  [ТС] 7
Цитата Сообщение от cotseec Посмотреть сообщение
какой теперь код? похоже не все скобки закрыл или еще что-нибудь, лучше покажи всю процедуру
поставил коменты в общих местах
Вложения
Тип файла: rar хунта.rar (195.6 Кб, 4 просмотров)
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
15.04.2013, 00:29 8
что должно происходить в этой строке
Delphi
1
if ((a[v,j] <> -1) and (not b[j]) and (d[v]+a[v,j]))
, а именно что необходимо ограничить этим (d[v]+a[v,j])? (разбираться лениво, простое закомментирование {(d[v]+a[v,j])} ошибок не дало, про правильность результата - не знаю)
напиши словами, что проверяется в указанном условии?
0
669 / 559 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
15.04.2013, 11:41 9
Цитата Сообщение от cotseec Посмотреть сообщение
(d[v]+a[v,j]))
Здесь происходит сложение двух величин например 100 + 120, а сравнивать то счем? или вместо знака '+' должен быть знака сравнения?
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
15.04.2013, 16:28 10
Цитата Сообщение от ZfoxAK Посмотреть сообщение
а сравнивать то счем? или вместо знака '+' должен быть знака сравнения?
на это вопрос может ответить тот, кто писал данную программу, для чего-то ведь в сравнения это включено.....
0
15.04.2013, 16:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2013, 16:28
Помогаю со студенческими работами здесь

Ошибка: Operator not applicable to this operand type
Здравствуйте. Помогите пожалуйста. Мне необходимо написать код программы, чтобы из значения...

Ошибка: Operator not applicable to this operand type
Добрый день, подскажите почему не работает? if Edit1.Text = '0' or Edit2.Text = '0' then ...

Ошибка: Operator not applicable to this operand type
Помогите,пожалуйста,понять в чем ошибка( выдает ее на строке end) type zap=record...

Ошибка: Operator not applicable to this operand type
Ребят, помогите что не так! Не серчайте на меня, У меня Delphi только одно занятие было. Если...


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

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