uses crt;
type massiv3=array[1..1000]of integer;
var i:integer;ff:text;m3:massiv3;
begin
clrscr;
assign(ff,'c:\pg\111\2.txt');
i:=0;
repeat
i:=i+1;
read(ff,m3);
until eof(ff);
close(ff);
readln;
end.
^Компилятор не орет, но прога вылетает с ерором при запуске,
В общем дан файлик в котором только цифры без пробелов, нужно считать все эти цифры в массив(Ну или куданибудь еще, только при условии чтобы потом можно было умножать и складывать их)Помогите кто в курсе как это реализовать.
Ошибка при выполнении при обращении к файлу
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Не указано:
1) какой версии компилятор (подозреваю, что Turbo Pascal 7 для Win)
2) на какой строчке (подозреваю, что на read)
3) какая ошибка - номер и сообщение
Если указанные мною предположения верны, то добавьте в начале
uses wincrt;
Дело в том, что в TP7 и BP7 операции ввода вывода (в т.ч. тривиальный вывод на экран) в современных windows могут работаь некорректно, так как рассчитаны на DOS.
1) какой версии компилятор (подозреваю, что Turbo Pascal 7 для Win)
2) на какой строчке (подозреваю, что на read)
3) какая ошибка - номер и сообщение
Если указанные мною предположения верны, то добавьте в начале
uses wincrt;
Дело в том, что в TP7 и BP7 операции ввода вывода (в т.ч. тривиальный вывод на экран) в современных windows могут работаь некорректно, так как рассчитаны на DOS.
Проблема в том что команда read(ff,m3); записывает все содержимое файла в один элемент массива, а мне нужно чтобы каждая циферка из файла была отдельным элементом.
1) Вы забыли "reset(ff)"
2) Чтобы считать поэлементно нужно рабоать со строкой.
"for I := 1 to length(s)" - тут можете поставить свое условине то-же <>''
[syntax='Pascal']
uses
Crt;
type
massiv3=array[1..100] of integer;
var
i,j:integer;
ff:text;
m3:massiv3;
s:string;
begin
CrlScr;
assign(ff,'c:\pg\111\2.txt');
reset(ff);
read(ff,s);
for I := 1 to length(s) do
val(s,m3,j);
close(ff);
readln;
end.
[/syntax]
2) Чтобы считать поэлементно нужно рабоать со строкой.
"for I := 1 to length(s)" - тут можете поставить свое условине то-же <>''
[syntax='Pascal']
uses
Crt;
type
massiv3=array[1..100] of integer;
var
i,j:integer;
ff:text;
m3:massiv3;
s:string;
begin
CrlScr;
assign(ff,'c:\pg\111\2.txt');
reset(ff);
read(ff,s);
for I := 1 to length(s) do
val(s,m3,j);
close(ff);
readln;
end.
[/syntax]
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)