Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.95/42: Рейтинг темы: голосов - 42, средняя оценка - 4.95
ubuman95
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 19
1

Компилятор

17.06.2014, 20:17. Просмотров 7598. Ответов 16
Метки нет (Все метки)

Что за?!? Почему данная программа не работает на turbo pascal?!?!? Что за различия между работы компиляторами? Если в abc.net компиляция идет идеально, почему она на турбо не хочет компилировать? Ааааааааааа бесит...
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var lineLength, lineCount,ll,lc,i,temp,page: integer;
    p,c: char;
    fin,fout: Text;
    isNum: boolean;
    
    
begin
  write('Символов на строку: ');
  readln(lineLength);
  write('Строк на страницу: ');
  readln(lineCount);
  write('Символ разделителя страницы: ');
  readln(p);
  
  assign(fin,'input.txt');
  reset(fin);
  assign(fout,'output.txt');
  rewrite(fout);
  ll:=0;
  lc:=0;
  page:=1;
  isNum:=false;
  writeln(fout,p,page,p);
  page:=page+1;
  while(not eof(fin)) do
  begin
     read(fin,c);
     if lc=lineCount then
     begin
        writeln(fout,p,page,p);
        page:=page+1;
        lc:=0;
     end;
     for i:=0 to 9 do
     begin
        temp:=ord(c)-48;
        if (temp=i) then
        begin    
            isNum:=true;
            c:=chr(0);
        end;
     end;
     if (c=char(10)) then c:=char(0);
     if (c=char(13)) then c:=char(0);
     write(fout,c);
     ll:=ll+1;
     if ll=lineLength then
     begin
      writeln(fout,'');
      lc:=lc+1;
      ll:=0;
     end;
     
     isNum:=false;
  end;
  close(fout);
  close(fin);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 20:17
Ответы с готовыми решениями:

Не работает компилятор
Скачиваемый компилятор PascalABC.net, у меня не работает. Пробовал удалять все,...

Online компилятор
Здравствуйте! Подскажите, существует ли онлайн компилятор PascalABC или...

Компилятор крашится при компиляции модуля
Доброго времени суток. Задача состоит в создании модуля для работы с данными...

Компилятор PascalABC.NET не сохраняет код в редакторе форм
Здравствуйте! Подскажите, пожалуйста! Есть проект Project1. В нем unit, который...

Компилятор
Добрый вечер. Подскажите компилятор (IDE не желательно) для паскаль, с...

16
pavelDev
45 / 45 / 26
Регистрация: 13.11.2013
Сообщений: 192
Записей в блоге: 1
17.06.2014, 20:25 2
на какой строке пишет ошибку?
0
Sergio Leone
2467 / 1112 / 579
Регистрация: 07.06.2014
Сообщений: 3,259
17.06.2014, 20:26 3
Цитата Сообщение от ubuman95 Посмотреть сообщение
Почему данная программа не работает на turbo pascal?!?!?
в чём проявляется неработоспособность программы? (я проверил в TurboPascal 7.0 под DosBox - всё работает!)
Прикладывайте входной и выходной файл (укажите, какие параметры вводили при запуске).

p.s. вот только не понимаю, зачем Вы символу #0 присваиваете? Вы думаете, что символ с нулевым кодом будет хорошо смотреться в выходном файле.

И ещё, на будущее, задание своё к программе прикладывайте. Иначе есть вероятность, что Вы не ту задачу и не так решаете!
0
Новичок
Модератор
1504 / 974 / 463
Регистрация: 17.07.2012
Сообщений: 4,949
Завершенные тесты: 3
17.06.2014, 20:27 4
Цитата Сообщение от ubuman95 Посмотреть сообщение
почему она на турбо не хочет компилировать?
Какие ошибки выдает? На Free Pascal(а они очень похожи с Turbo хотя разница между ними есть) компилируется без ошибок.
0
ubuman95
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 19
17.06.2014, 21:51  [ТС] 5
Компилятор


"Скопировать один файл в другой, разбив его на страницы указанного размера и удалив все числа, если они имеются в исходном файле. Каждая страница имеет свой порядковый номер и заключена в рамку, составленную из указываемого в диалоге символа." Прошу прощения... ПРосто в паскаль абс работает, а во фри нет
0
Новичок
Модератор
1504 / 974 / 463
Регистрация: 17.07.2012
Сообщений: 4,949
Завершенные тесты: 3
17.06.2014, 21:54 6
Цитата Сообщение от ubuman95 Посмотреть сообщение
а во фри нет
Цитата Сообщение от Новичок Посмотреть сообщение
На Free Pascal(а они очень похожи с Turbo хотя разница между ними есть) компилируется без ошибок.
Ну киньте снимок экрана.
0
ubuman95
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 19
17.06.2014, 22:02  [ТС] 7
Бред, ссылка выше? Или ссылками кидать незя?
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26149 / 17526 / 6950
Регистрация: 22.10.2011
Сообщений: 30,862
Записей в блоге: 6
17.06.2014, 22:21 8
Цитата Сообщение от ubuman95 Посмотреть сообщение
а во фри нет
Не верю:
0
Миниатюры
Компилятор  
ubuman95
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 19
17.06.2014, 22:27  [ТС] 9
почему у меня то так? Пишет ошибку?!? аааа =(
0
Новичок
Модератор
1504 / 974 / 463
Регистрация: 17.07.2012
Сообщений: 4,949
Завершенные тесты: 3
17.06.2014, 22:30 10
Скорее всего потому что вы код ручками писали там и не так написали как код расположенный в первом сообщении,я прав?
0
ubuman95
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 19
17.06.2014, 22:44  [ТС] 11
Ссорь, прикол в том что я кинул черновой вариант, вот оригинал, и косяк с этим. В pascalABC.NET все работает, в ABC, и free не работает...
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
var lineLength, lineCount,ll,lc,i,temp,page,pLength: integer;
    p,c: char;
    fin,fout: Text;
    isNum: boolean;
    s: string;
    
begin
  write('Символов на строку: ');
  readln(lineLength);
  write('Строк на страницу: ');
  readln(lineCount);
  write('Символ разделителя страницы: ');
  readln(p);
  
  assign(fin,'input.txt');
  reset(fin);
  assign(fout,'output.txt');
  rewrite(fout);
  ll:=0;
  lc:=lineCount;
  page:=1;
  isNum:=false;
  write(fout,p);
  while(not eof(fin)) do
  begin
     read(fin,c);
     
     if lc=lineCount then
     begin
        str(page,s);
        pLength:=Length(s);
        s:='';
        for i:=0 to lineLength do
          s:=s+p;
        writeln(fout,s);
        s:=p+page;
        for i:=0 to lineLength-pLength-1 do
          s:=s+' ';
        writeln(fout,s,p);
        page:=page+1;
        lc:=0;
        write(fout,p);
     end;
     
     for i:=0 to 9 do
     begin
        temp:=ord(c)-48;
        if (temp=i) then
        begin    
            isNum:=true;
            c:=chr(0);
        end;
     end;
     
     if (c=char(10)) then c:=char(0);
     if (c=char(13)) then c:=char(0);
     
     write(fout,c);
     ll:=ll+1;
     
     if ll=lineLength then
     begin
      writeln(fout,p);
      write(fout,p);
      lc:=lc+1;
      ll:=0;
     end;
     
     isNum:=false;
  end;
  
  s:='';
  for i:=ll to lineLength-1 do
    s:=s+' ';
  writeln(fout,s,p);
  s:='';
  for i:=0 to lineLength+1 do
    s:=s+p;
  writeln(fout,s);
  
  close(fout);
  close(fin);
end.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26149 / 17526 / 6950
Регистрация: 22.10.2011
Сообщений: 30,862
Записей в блоге: 6
17.06.2014, 22:51 12
PascalABC.NET - это как морская свинка. Вроде и не морская, и вроде не свинка... От Паскаля тут только begin/end и осталось. А из Шарпа зато пришли неявные преобразования типа. В твоем случае - из Integer в String. Нормальный компилятор Паскаля это пропускать не должен, что FPC и делает...
0
ubuman95
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 19
17.06.2014, 23:25  [ТС] 13
хахахаха, конечно пример который вы привели ооочень сильный) Час попробую исправить...
0
Sergio Leone
2467 / 1112 / 579
Регистрация: 07.06.2014
Сообщений: 3,259
17.06.2014, 23:28 14
ubuman95, рискую попасть пальцем в небо, ибо не понимаю Ваш алгоритм,
но, похоже, что проблемную строчку:
Pascal
1
s:=p+page;
можно заменить на
Pascal
1
s := p + IntToStr(page);
0
ubuman95
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 19
18.06.2014, 00:46  [ТС] 15
промазал)
0
Новичок
Модератор
1504 / 974 / 463
Регистрация: 17.07.2012
Сообщений: 4,949
Завершенные тесты: 3
18.06.2014, 00:50 16
ubuman95, чтобы работал IntToStr нужно первой строкой
Pascal
1
uses SysUtils;
Добавлено через 1 минуту
И, да Sergio Leone правильно заметил, там ошибка.
0
ubuman95
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 19
18.06.2014, 01:04  [ТС] 17
Цитата Сообщение от Новичок Посмотреть сообщение
uses SysUtils;
Все равно говорит неизвестный идентификатор,
я лучше стандартным паскалевским Str переведу
0
18.06.2014, 01:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2014, 01:04

Компилятор Pascal
Есть ли компилятор Pascal для мобильных телефонов?

Компилятор выдаёт ошибку.
Program z1; var n:integer; begin Writeln('Архитектор Исаакиевского...

Компилятор Pascal для Mac OS
Подскажите компилятор Pascal для Mac OS Мне надо компилировать не только сами...


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

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

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