Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Массивы в Borland Paskal

Автор: Chief 11.12.2004 23:07

Как правильно в Borland Pascal 7 произвести чтение в массив.
Пишу следующий код:

Код

var
m: array [1..10] of byte;
i:byte;
begin
for i:=1 to 10 do
readln (m[i]);
for i:=10 downto 1 do
writeln (m[i]);
end.

При запуске вылетает run time error 104.
Как я понимаю проблема с чтением в массив
Код

for i:=1 to 10 do
readln (m[i]);

В Turbo Paskal 7 этот код работает без проблем.

Автор: volvo 11.12.2004 23:20

Chief
Обычно RunTime Error 104 возникает при несоответствии типа переменной типу введенного значения. Убедись, что вводятся именно байтовые значения... + Попробуй изменить тип элементов на Integer...

Кстати, проверь, где именно возникает ошибка...

Автор: klem4 11.12.2004 23:33

Код
uses crt;
var m:array[1..10] of byte;
   i:byte;

Begin
clrscr;
    for i:=1 to 10 do
     readln(m[i]);

    writeln;

    for i:=10 downto 1 do
     writeln(m[i]);
     readln;
     end.


у меня вот так пашет, а вообще странно, эта ошибка означает либо то, что
ожидантся переменная порядкового типа, либо вот :

Ошибки возникающие во время выполнения программ


Некоторые ошибки, обнаруженные во время выполнения программы, приводят к появлению на экране сообщения вида

Runtime error ппп at хххх:уууу

(Ошибка периода исполнения ппп по адресу хххх:уууу)

где ппп - номер ошибки; хххх:уууу - адрес (сегмент и смещение). После этого сообщения программа завершает свою работу.

Ошибки периода исполнения делятся на четыре категории: ошибки, обнаруживаемые ДОС (коды ошибок с 1 до 99), ошибки ввода-вывода (с 100 по 149), критические ошибки (с 150 по 199) и фатальные ошибки (коды ошибок с 200 до 255).

Автор: klem4 11.12.2004 23:39

так как byte - порядкового типа, следовательно ошибка ввода-вывода, чо-то водишь не то :D

Автор: Chief 11.12.2004 23:49

Большое спасибо всем за помощь - разобрался.
Дело вот в чем, при компиляции приложения под Windows, pascal выдает runtime error 104 если не подключен модуль uses wincrt;
А если компилировать в 'real mode application' работает все без всяких uses crt.

Автор: Outlos 28.01.2005 22:33

unsure.gif
Ребят, если не сложно, опишите мне для чего нужен массив.

Сначала надо бы почитать ФАК: http://forum.pascal.net.ru/index.php?showtopic=2694

Автор: Altair 28.01.2005 23:35

Цитата
Дело вот в чем, при компиляции приложения под Windows, pascal выдает runtime error 104 если не подключен модуль uses wincrt;

Попробуй так:
(кусок твоего кода)
Цитата
uses
{$ifdeg Win32}
crt;
{$else}
WinCrt;
{$ednif}
var m:array[1..10] of byte;
i:byte;

Begin
clrscr;
    for i:=1 to 10 do

Автор: Гость 14.05.2007 12:06

Ребят напишите если знаете где можно взять 3D модунь???? Уже весь инет перерыл! mega_chok.gif

Автор: klem4 14.05.2007 12:45

Гость , ты о чем ? Во первых зачем в чужой теме, во вторых о каком модуле идет речь ?

Автор: Гость 23.05.2007 12:23

Ошибка изза того что невведён модуль Uses Wincrt