Другие языки программирования и технологии
Тип данных в паскале
Проблема в том, что когда я присваю переменной тип integer и провожу операцию "sr:=s/10;" паскаль пишет, что попытка присвоить переменной типа integer выражение типа real. Если же поменять тип на real, то чуть позже, когда я буду проводить операцию "B[i,j]:=sr;" он напишет "попытка присвоить переменной типа real выражения типа integer". Что же делать? Какой тип данных надо задать?
надо применять целочисленное деление, оно возвращает целый результат.
команда див
команда див
он напишет "попытка присвоить переменной типа real выражения типа integer"
Не боись, не напишет.
Не боись, не напишет.
А в чем проблема? :) Разве real нельзя присваивать integer? :)
"чуть позже, когда я буду проводить операцию "B[i,j]:=sr;" он напишет "попытка присвоить переменной типа real выражения типа integer""
Он такого не напишет. Вещественные числа - более общий тип, поэтому им можно присваивать целые, а вот наоборот в Паскале прямо нельзя, только через специально для этого предусмотренные функции, с помощью которых выбирается тип округления к целому.
Он такого не напишет. Вещественные числа - более общий тип, поэтому им можно присваивать целые, а вот наоборот в Паскале прямо нельзя, только через специально для этого предусмотренные функции, с помощью которых выбирается тип округления к целому.
В borland pascal 7, обычно, в таких случаях пишет "Не соответствие типов".
Результат операции деленияв pascal всегда тип real, поэтому объяви sr: real; двумерный массив так же объяви как of real.
Если тебе нужно отработать с целыми числами, то примени стандартую функцию INT(s/10) - выделение целой части, а массив объяви of integer/
Результат операции деленияв pascal всегда тип real, поэтому объяви sr: real; двумерный массив так же объяви как of real.
Если тебе нужно отработать с целыми числами, то примени стандартую функцию INT(s/10) - выделение целой части, а массив объяви of integer/
"попытка присвоить переменной типа real выражения типа integer" Такого быть не может.
"Тип массива и тип переменной должен быть одинаковым" это полный бред.
"просьба не писать, что такого быть не может, ибо это происходит, когда я это делаю) " Просьба не писать того, что не может быть или выложи скрин или хотя бы код.
"Тип массива и тип переменной должен быть одинаковым" это полный бред.
"просьба не писать, что такого быть не может, ибо это происходит, когда я это делаю) " Просьба не писать того, что не может быть или выложи скрин или хотя бы код.
при делении он и будет РЕАЛ.. а потом приводим к RealToInt, и проблемы сняты
Тип массива и тип переменной должен быть одинаковым
real присвоит integer, а наоборот нет.
real присвоит integer, а наоборот нет.
Похожие вопросы
- ПАСКАЛЬ: дайте примеры типы данных...
- Помогите создать базу данных на паскале.
- Что имеется ввиду под 4 байтами у типа данных int?(С++)
- Есть ли в программировании основные (фундаментальные) типы данных, от которых берут начало другие типы?
- Перечислите основные типы данных
- C++. Типы данных. Создание типа данных.
- Зачем char в паскале? Зачем используется символьный тип, Char, в паскале?
- Чем опасна переменная вещественного типа? (например в Паскале, тип real)
- Что это за тип данных? (Delphi)
- Абстракция и абстрактные типы данных.