Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2009, 21:55   #1
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию Элементарная задачка

type massiv3=array[1..1000]of integer;
var i:integer;ff:text;m3:massiv3;


assign(ff,'c:\pg\111\2.txt');
reset(ff);
repeat
i:=i+1;
read(ff,m3[i]);
until eof(ff);
close(ff);
readln;
end.

^Компилятор не орет, но прога вылетает с ерором при запуске,
В общем дан файлик в котором только цифры без пробелов, нужно считать все эти цифры в массив(Ну или куданибудь еще, только при условии чтобы потом можно было умножать и складывать их)Помогите кто в курсе как это реализовать.
GrindeX вне форума Ответить с цитированием
Старый 02.05.2009, 22:11   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вы хотите сказать, что это у вас компилируется?
Где начало программы (begin)? Нету его.
Переменная i не проинициализирована.
Код:
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');
reset(ff); 
i := 0;
repeat
 i:=i+1;
 read(ff,m3[i]);
until eof(ff);
close(ff);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 02.05.2009, 22:45   #3
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию

Это кусок куда, я его выдрал не полностью видимо.
Сделал как вы написали, выдает еррор 201

Последний раз редактировалось GrindeX; 02.05.2009 в 22:50.
GrindeX вне форума Ответить с цитированием
Старый 03.05.2009, 00:22   #4
Lawless
Пользователь
 
Аватар для Lawless
 
Регистрация: 02.05.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от GrindeX Посмотреть сообщение
Это кусок куда, я его выдрал не полностью видимо.
Сделал как вы написали, выдает еррор 201
вылет за границу... немогу помоч, ибо незнаю что у вас записано в файле
Не всё так сложно, как кажется...
Помог - ставь плюсег
Lawless вне форума Ответить с цитированием
Старый 03.05.2009, 08:50   #5
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию

Проблема в том что команда read(ff,m3[i]); записывает все содержимое файла в один элемент массива, а мне нужно чтобы каждая циферка из файла была отдельным элементом.

Последний раз редактировалось GrindeX; 03.05.2009 в 12:07.
GrindeX вне форума Ответить с цитированием
Старый 03.05.2009, 13:08   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от GrindeX
Проблема в том что команда read(ff,m3[i]); записывает все содержимое файла в один элемент массива, а мне нужно чтобы каждая циферка из файла была отдельным элементом.
Так вы покажите содержимое файла.
Сделал файл:
Код:
1
2
3
4
5
Все читает как надо.
Цитата:
нужно чтобы каждая циферка из файла была отдельным элементом
Если каждая цифра, то читайте содержимое как строку и уже там разбивайте.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.05.2009, 16:49   #7
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию

Сори за нубство но как превратить строку в массив?При поэлементном присваивании строки и массива компилятор ссылается на несовместимость типов.
GrindeX вне форума Ответить с цитированием
Старый 03.05.2009, 16:57   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 03.05.2009, 17:32   #9
Dirt
Пользователь
 
Регистрация: 28.03.2009
Сообщений: 60
По умолчанию

Привет всем)))

Я так понимаю у вас в файле идет так: "6757646565664645456464" ???

вот

Код:
uses crt;
type
massiv3=array[1..1000]of integer;
var
 i, code:integer;
 ff:text;
 m3:massiv3;
 str:string;

begin
clrscr;
assign(ff,'2.txt');
reset(ff);
read(ff,str);
close(ff);
for i:=1 to length(str) do
 begin
      val(str[i], m3[i], code);
 end;

readln;
end.
Dirt вне форума Ответить с цитированием
Старый 03.05.2009, 18:34   #10
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию

Dirt Спасибо все работает
GrindeX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Элементарная задача,определить наименьшее число juzam Паскаль, Turbo Pascal, PascalABC.NET 7 26.11.2008 23:53
элементарная задача на цикл с счетчиком VaR_Female Паскаль, Turbo Pascal, PascalABC.NET 3 28.10.2008 10:04
обновление в блоге - Элементарная работа с файлами Pblog Обсуждение статей 0 27.05.2007 03:17