Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 140
#1

Распаковка строки, исправить код - Turbo Pascal

13.04.2014, 13:57. Просмотров 1431. Ответов 33
Метки нет (Все метки)

Здравствуйте, решал на **** задачу "распаковка строки", благополучно решил, на компьютере все работает, но на **** выдает "Runtime Error". Никак не могу разобраться в чем проблема, подскажите пожалуйста...
код
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
39
40
41
42
43
44
const
my : set of char=['0'..'9'];
var
n,i,k,l,j,p,e,u: integer;
s,o,r: string;
begin
assign(input,'input.txt');reset(input);
assign(output,'output.txt');rewrite(output);
read(s);
n:=length(s);
    for i:=1 to n do
      begin
      if s[i] in my then
         begin
          o:=o+s[i];
          val(o,l,j);
          end;
          if not(s[i] in my) and not(s[i-1] in my) then
          begin
            write(s[i]);
            r:=r+s[i];
            e:=length(r);
            if (e=40)  then
               begin
               r:='';
               writeln;
               end;
          end;
             if not(s[i] in my) and (s[i-1] in my) then
             for p:= 1 to l do
              begin
            write(s[i]);
            o:='';
            r:=r+s[i];
            e:=length(r);
              if (e=40)  then
               begin
               r:='';
               writeln;
               end;
              end;
 
      end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2014, 13:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Распаковка строки, исправить код (Turbo Pascal):

Исправить код - Turbo Pascal
program P4; type school = record nm:integer; name: string; surname: string; god: integer; bukva:set of char= {Множество...

Исправить код! - Turbo Pascal
uses crt; var i,j,min,max :integer; A:array of integer; begin randomize; for i:= 1 to 3 do for j:=1 to 3 do A:=random(9); ...

Исправить код - Turbo Pascal
задание: В целочисленном векторе vectorn переместить в начало все нулевые элементы, за ними – все отрицательные элементы в порядке их...

Исправить код - Pascal
Помогите, пожалуйста, исправить программу, чтобы чтение было из файла Требуется определить, в какой момент времени черепаха сможет...

Исправить код программы - Turbo Pascal
uses crt; function c5(n:integer):boolean; var m,i:integer; f:boolean; begin m:=abs(n); f:=false; while(m>0)and not f do ...

Как исправить код? - Pascal
if w>0 then F:= exp((2w)*1)+((-2w)*1) else F:=exp((w)*2)+((w)*3); После проверки ругается вот на это, не пойму в чем причина??? ...

33
Svager
394 / 374 / 212
Регистрация: 14.09.2013
Сообщений: 1,202
13.04.2014, 14:17 #2
Цитата Сообщение от ecofreeon Посмотреть сообщение
assign(input,'input.txt');reset(input); assign(output,'output.txt');rewrite(output);
где у вас описан файл ?
0
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 140
13.04.2014, 14:25  [ТС] #3
Я использую стандартные файлы, которые есть в паскале. В вашем фрагменте моего сообщения они и описываются...

Добавлено через 53 секунды
Цитата Сообщение от Svager Посмотреть сообщение
где у вас описан файл ?
Я использую стандартные файлы, которые есть в паскале. В вашем фрагменте моего сообщения они и описываются...
0
Alex Dark
Наблюдатель
455 / 190 / 32
Регистрация: 01.05.2012
Сообщений: 1,015
13.04.2014, 14:30 #4
Ну если это какой то сайт с тестами и онлайн проверкой, то самое простое это то что ты не закрываешь файлы.
ГДЕ Close(input) и Close(output)???
0
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 140
13.04.2014, 14:32  [ТС] #5
Цитата Сообщение от Alex Dark Посмотреть сообщение
Ну если это какой то сайт с тестами и онлайн проверкой, то самое простое это то что ты не закрываешь файлы.
ГДЕ Close(input) и Close(output)???
Сначала так и подумал, но:
1. Во всех остальных задачах файл не закрываю и все работает.
2. Пробовал закрывать- все так же Runtime Error(
0
Alex Dark
Наблюдатель
455 / 190 / 32
Регистрация: 01.05.2012
Сообщений: 1,015
13.04.2014, 14:34 #6
и ещё, укажи явно, откуда читаешь и куда пишешь.
read(input,s) и write(output,s[i])
0
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 140
13.04.2014, 14:37  [ТС] #7
Цитата Сообщение от Alex Dark Посмотреть сообщение
и ещё, укажи явно, откуда читаешь и куда пишешь.
read(input,s) и write(output,s[i])
Так же runtime error(
0
markiza-inc
478 / 193 / 40
Регистрация: 21.10.2012
Сообщений: 448
13.04.2014, 14:39 #8
А другие проги, какие-нибудь, у Вас работают?

Runtime Error обычно выдает если Turbo Pascal старый - непропатченный.

У меня Ваша прога работает, файлы создаются, правда что делает прогга - не понятно. Заменяет все цифровые символы каким-то количеством единиц.
Цитата Сообщение от Alex Dark Посмотреть сообщение
read(input,s) и write(output,s[i])
Это не обязательно. В проге используется подмена консоли файлами.
0
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 140
13.04.2014, 14:41  [ТС] #9
Вот к примеру с того же сайта код, прошло с первого раза, с переменными все так же, как и в моей проблемной задачей...
Цитата Сообщение от код
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
a : array[1..2,1..100] of real;
i,j,n,im: integer;
m: real;
begin
assign(input,'input.txt');reset(input);
assign(output,'output.txt');rewrite(output);
readln(n);
j:=0;
m:=-maxint;
 for i:=1 to n do
   read(a[1,i]);
readln;
 for i:=1 to n do
  read(a[2,i]);
  for i:= 1 to n do
      if (a[1,i]*(a[2,i]/100))>m then
         begin
         m:=(a[1,i]*(a[2,i]/100));
         im:=i;
         end;
write(im);
end.
Добавлено через 1 минуту
Цитата Сообщение от markiza-inc Посмотреть сообщение
правда что делает прогга - не понятно. Заменяет все цифровые символы каким-то количеством единиц.
вот, что она должна делать
задача
Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим строку AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из латинских букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество повторений. Таким образом, данная строка может быть представлена как 4AB5C4D. Длина такой строки 7. Описанный метод мы назовем упаковкой строки.

Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.

Входные данные

Входной файл INPUT.TXT содержит одну упакованную строку. В строке могут встречаться только конструкции вида nA, где n — количество повторений символа (целое число от 2 до 99), а A — заглавная латинская буква, либо конструкции вида A, то есть символ без числа, определяющего количество повторений. Максимальная длина строки не превышает 80.

Выходные данные

В выходной файл OUTPUT.TXT выведите восстановленную строку. При этом строка должна быть разбита на строчки длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).

все остальные программы работают..
0
markiza-inc
478 / 193 / 40
Регистрация: 21.10.2012
Сообщений: 448
13.04.2014, 14:44 #10
Где-то на форуме эта задача уже была.
0
Alex Dark
Наблюдатель
455 / 190 / 32
Регистрация: 01.05.2012
Сообщений: 1,015
13.04.2014, 14:46 #11
30 строка. for p:= 1 to l do
Откуда берётся L? Где инициализация
0
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 140
13.04.2014, 14:49  [ТС] #12
Цитата Сообщение от markiza-inc Посмотреть сообщение
Где-то на форуме эта задача уже была.
Знаю, но мне интересно что не так именно с моим решением этой задачи...

Добавлено через 1 минуту
Цитата Сообщение от Alex Dark Посмотреть сообщение
30 строка. for p:= 1 to l do
Откуда берётся L? Где инициализация
Pascal
1
2
o:=o+s[i];
* * * * * val(o,l,j);
15-16 строки
к выводу вопросов быть не должно, выводит как надо...
0
markiza-inc
478 / 193 / 40
Регистрация: 21.10.2012
Сообщений: 448
13.04.2014, 15:01 #13
Создал исходный файл как сказано в задании - все работает правильно.
0
ecofreeon
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 140
13.04.2014, 15:05  [ТС] #14
Цитата Сообщение от markiza-inc Посмотреть сообщение
Создал исходный файл как сказано в задании - все работает правильно.
у меня тоже, но на сайте на первом же тесте runtime error. Никак не могу разобраться в чем проблема.
0
Alex Dark
Наблюдатель
455 / 190 / 32
Регистрация: 01.05.2012
Сообщений: 1,015
13.04.2014, 15:10 #15
Цитата Сообщение от Alex Dark Посмотреть сообщение
Откуда берётся L? Где инициализация
Я о том, что инициализация должна быть ЯВНОЙ а не под условием спрятанной.
Это ошибка. В твоём случае она не сработала. В другом - сработает.

Цитата Сообщение от markiza-inc Посмотреть сообщение
Создал исходный файл как сказано в задании - все работает правильно
В связи с тем, что это тестовая задача онлайн, надо читать внимательно правила и условия работы с тестом.

PS там может только под эксплорером надо работать или под мозилой. Читайте в условиях

Добавлено через 2 минуты
или имена фалов задавать типа '.\input.txt'
0
13.04.2014, 15:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2014, 15:10
Привет! Вот еще темы с ответами:

Исправить программный код - Turbo Pascal
Program pr1; uses crt; var x,y,z:array of integer; n,i,j,k,m:integer; begin writeln ('n='); readln (n); writeln ('m='); ...

Прокомментировать и исправить код - Pascal
program qwe; var s:string; str1,str2:array of string; b,c,k,n,i,a:integer; procedure razborstroki; begin s:=s+' '; while s...

Исправить код сортировки - Turbo Pascal
Помогите пожалуйста найти ошибку в теле программы! Вот задание - e) Створіть за допомогою генератора випадкових чисел масив дійсних...

Исправить код программы. - Pascal
С помощью рекурсивной функции вычислить значение квадратного корня с заданой точностью. Вот что у меня получилось: uses crt; var...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru