Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
23 / 0 / 0
Регистрация: 14.01.2014
Сообщений: 3
1

Ошибка 106 при выполнении

14.01.2014, 20:19. Показов 5427. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
type mas1=array[1..100] of integer;
var a:char; m1,m2,m3:mas1; f1,f2:text; n:byte; i,b:integer;
 
begin
 
assign (f1, 'printer.in');
assign (f2, 'printer.out');
reset (f1);
rewrite (f2);
 
readln (f1, n);
 
 for i:=1 to n do
 begin
 readln (f1, a);
 m1[i]:=ord(a);
 read (f1, m2[i]);
 read (f1, m3[i]);
 end;
 
 while not eof (f1) do
 begin
 read (f1,a);
  for i:=1 to n do begin
  if ord(a)=m1[i] then b:=b+m2[i];
  if ord(a)=m1[i]-26 then b:=b+m3[i]
  end;
 end;
 
write (f2, b);
 
close (f1);
close (f2);
 
end.
printer.in

Pascal
1
2
3
4
5
6
7
5
p 5 6
t 7 8
y 9 10
a 1 2
e 3 4
Petya
Ошибка выполнения 106 по адресу 0000:011D

Помогите, в чём проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2014, 20:19
Ответы с готовыми решениями:

Ошибка 106 при чтении массива из файла
В общем такая проблема, есть процедура чтения двумерного массива из файла. Без графики при...

Ошибка при выполнении сложной программы
Всем добрый вечер! Я нахожусь на некотором этапе реализации задачи (~87% сделано), моделирую...

Ошибка при выполнении задания в функциями
не могу понять в чем ошибка uses crt; function spr(a,b:integer):integer; const ...

Ошибка (106) invalid numeric format
Всем доброго времени суток! Есть простой код в паскале, но при его выполнении программа выдает...

5
Супер-модератор
6196 / 2944 / 1300
Регистрация: 04.03.2013
Сообщений: 5,790
Записей в блоге: 1
14.01.2014, 20:46 2
Подпрограммы Read и ReadLn сообщают об этой ошибке, если числовое значение, считанное из текстового файла не соответствует нужному числовому формату.

Проверьте, каждый символ файла printer.in для начала
1
23 / 0 / 0
Регистрация: 14.01.2014
Сообщений: 3
14.01.2014, 21:33  [ТС] 3
Цитата Сообщение от ildwine Посмотреть сообщение
Подпрограммы Read и ReadLn сообщают об этой ошибке, если числовое значение, считанное из текстового файла не соответствует нужному числовому формату.

Проверьте, каждый символ файла printer.in для начала
прикрепил printer.in к первому посту

скорее всего ошибка в том что сначала читаю а (символ), потом число, хотя может быть и нет.

как исправить, не подскажите?

Добавлено через 39 минут
Проблема решена. Можно закрывать тему.
0
Супер-модератор
6196 / 2944 / 1300
Регистрация: 04.03.2013
Сообщений: 5,790
Записей в блоге: 1
14.01.2014, 21:35 4
grand777, темы не закрываются. Если не трудно, поделитесь решением проблемы с будущими поколениями. Возможно кому-то пригодится...
0
23 / 0 / 0
Регистрация: 14.01.2014
Сообщений: 3
14.01.2014, 21:50  [ТС] 5
путём отладки пришел к такому решению: (добавлен ряд 20 и 21, не обязательно a[i], это просто чтобы символы, которые паскаль берёт откуда то (так и не понял откуда) пропустить)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
type mas2=array[1..100] of integer;
type mas1=array[1..100] of char;
var d,c:char; m1,m2,m3:mas2; a:mas1; f1,f2:text; n:byte; i,b,code:integer;
 
begin
 
assign (f1, 'printer.in');
assign (f2, 'printer.out');
reset (f1);
rewrite (f2);
 
readln (f1, n);
 
 for i:=1 to n do
 begin
 read (f1, a[i]);
 m1[i]:=ord(a[i]);
 read (f1, m2[i]);
 read (f1, m3[i]);
 read (f1, a[i]);
 read (f1, a[i]);
 end;
 
 while not eof (f1) do
 begin
 read (f1,d);
  for i:=1 to n do begin
  if ord(d)=m1[i]-32 then b:=b+m3[i];
  if ord(d)=m1[i] then b:=b+m2[i];
  end;
 end;
 
write (f2, b);
 
close (f1);
close (f2);
 
end.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
15.01.2014, 00:48 6
Цитата Сообщение от grand777 Посмотреть сообщение
так и не понял откуда
В конце каждой строки записаны два управляющих символа #10 и #13 - признак конца строки и воззврат каретки. Т.к. чтение было посимвольным, то эти символы Вы тоже читаете.
Кстати, можете, например, в Notepad++ открыть текстовый файл и посмотреть скрытые символы
0
15.01.2014, 00:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2014, 00:48
Помогаю со студенческими работами здесь

Ошибка выполнения 106 по адресу: 0000:008A
const text1='vvedite a i b'; text2='rezultat'; text3='exit- n'; var ...

Отсортировать массив целых чисел по возрастанию - Ошибка 106
Program Bubble; Const n=5; Type mas=Array of integer; Var i,j,b: Integer; A:mas; Begin for...

Ошибка 106 при выполнении программы
Компилируется-то нормально (после изменения), при выполнении ошибка 106! Uses Crt; Type...

При выполнении программы выдаётся ошибка
Дано следующие задание. Вычислить значение числа π, учитывая в формуле значения слагаемых, по...

Paramstr - ошибка 106
кто знает почему при заданных параметрах (в опции Run -> Parameters) прога нормально работает и...

Массив записей, ошибка 106
Создан массив из 5 записей. Организован ввод данных в записи. Данные в 1ую запись успешно...


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

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