0 / 0 / 1
Регистрация: 28.01.2014
Сообщений: 59
1

Встречено 'template', а ожидался идентификатор

21.04.2016, 18:32. Показов 1082. Ответов 11
Метки нет (Все метки)

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
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
program sample(input, output);
 
const n=10;
      template='_________';
      
      
type line= packed array[1..n] of char;
     size=1..10;
     link= ^node;
     node= record
             word: line;
             length: size;
             next: link
     end;
 
     list=link;
     
var L: list;
    p: link;
    c: char;
    word: line;
    k,i: integer;
 
procedure insert(p: link; word: line; length: size);
var q: link;
begin new(q);
 q^.word:=word;
 q^.length:=length;
 q^.next:=nil;
 q^.next:=q
end;
 
procedure print (p: list);
begin p:=p^.next;
 while p<>nil do
  begin write(p^.word,'_');
        p:=p^.next
  end;
 writeln;
end;
 
function amount (p: list; letter: char; length: size):integer;
var k,m,i:integer;
begin
 k:=0; p:=p^.next;
 while p<>nil do
  begin
   if p^.length=length then
    begin m:=0;
     for i:=1 to length do
      if p^.word[i]=letter then m:=m+1;
     if m>=2 then k:=k+1
    end;
   p:=p^.next
  end;
 amount:=k
end;
 
begin
 new(L); L^.next:=nil;
 writeln('Vvedite text: ');
 p:=L;
 repeat i:=0; word:= template ; read(c);
  repeat i:=i+1; word[i]:=c; read(c);
  until (c=',') or (c='.');
  insert (p,word,i);
  p:=p^.next;
 until c='.';
 readln;
 print(L);
 write('bukva');
 readln(c);
 writeln;
 writeln ('rezultat', amount(L,c,5));
 writeln ('============================');
 end.
4 строка Встречено 'template', а ожидался идентификатор
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2016, 18:32
Ответы с готовыми решениями:

Встречено 'as', а ожидался идентификатор
Встречено 'as', а ожидался идентификатор 17 строка Program Sme; uses crt; type reca=record...

Встречено 'var', а ожидался идентификатор
При выполнении программа выдаёт ошибку &quot;Встречено 'var', а ожидался идентификатор&quot; в строке 9:...

Встречено var, а ожидался идентификатор
8 строка program ex; uses crt; type node=^zapis; zapis=record ocenka:integer; ...

Встречено 'uses', а ожидался оператор
Unit Unit1; interface uses System, System.Drawing, System.Windows.Forms; type Form1 =...

11
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
21.04.2016, 18:49 2
template зарезервировано, поменяйте имя
0
0 / 0 / 1
Регистрация: 28.01.2014
Сообщений: 59
21.04.2016, 19:01  [ТС] 3
repeat i:=0; word:= templat ; read(c);

Нельзя преобразовать тип string к array [1..10] of char
0
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
21.04.2016, 19:17 4
вероятно, нет в PABC.net упакованных массивов
0
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
21.04.2016, 19:17 5
напиши темплат в var в виде string
0
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
21.04.2016, 19:21 6
Цитата Сообщение от shilko2013 Посмотреть сообщение
var в виде string
что то изменится?
0
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
21.04.2016, 19:25 7
нет)
0
0 / 0 / 1
Регистрация: 28.01.2014
Сообщений: 59
21.04.2016, 19:48  [ТС] 8
Я переписал этот пример с методичке а он не работает. (Так программа турбо паскаль но там такие же ошибки)
Пример решения
Пусть требуется найти, сколько в тексте слов длиной пять букв и в
которых заданная буква встречается не менее двух раз.
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
84
program sample(input, output); 
const n=10;  
      template='⵼⵼⵼⵼⵼⵼⵼⵼⵼⵼'; 
type  line = packed array[1..n] of char; 
      size=1..10; 
      link= ↑node; 
      node = record 
               word: line; 
               length: size;  
               next: link  
             end; 
      list=link; 
var L: list; 
    p: link;  
    c: char; 
 word: line; 
  k,i: integer; 
 
procedure insert(p: link; word: line; length: size); 
{создаёт звено для слова word длины length и вставляет  
его в конец списка (после звена, на которое указывает p)} 
var q: link; 
 
- 42 - 
begin new(q); 
  q↑.word:= word; 
  q↑.length:=length; 
  q↑.next:= nil{= p↑.next}; 
  p↑.next:= q 
end {insert}; 
 
procedure print(p: list); 
{печатает слова из списка с заглавным звеном} 
begin p:=p↑.next; 
  while p < > nil do   
    begin write(p↑.word,'⵼'); 
          p:=p↑.next  
    end; 
  writeln; 
end {print}; 
 
function amount(p: list; letter: char; 
                         length: size):integer; 
{подсчитывает количество слов в списке, удовлетворяющих 
 условию: длина равна length и буква letter входит в  
 слово не менее двух раз} 
var k,m,i:integer; 
begin 
  k:=0;   p:= p↑.next; 
  while p < > nil do 
    begin 
      if p↑.length=length then 
        begin m:=0;  
          for i:=1 to length do  
            if p↑.word[i]= letter then m:= m+1; 
          if m>= 2 then k:= k+1  
        end; 
      p:=p↑.next 
    end; 
  amount:= k 
end {amount}; 
 
begin  {построение заглавного звена списка} 
  new(L); L↑.next:= nil;  
  writeln('Введите текст:'); 
  p:=L; {p установили на начало пустого списка} 
  repeat i:=0; word:= template; read(c); 
    {ввод очередного слова word из файла input} 
    repeat i:=i+1; word[i]:= c; read(c); 
    until (c = ',') or (c='.');  
 
- 43 - 
    insert(p,word,i); 
    p:=p↑.next; {p указывает на последнее звено} 
  until c ='.'; 
  readln; 
  print(L); {печать введённого текста} 
  write('Задайте букву: ⵼'); 
  readln(c); 
{обработка списка и вывод результата} 
  writeln; 
  writeln('Результат: k=', amount(L,c,5)); 
  writeln('========================================'); 
end.
Добавлено через 32 секунды
Цитата Сообщение от Андрей_Андрeй Посмотреть сообщение
(Так программа турбо паскаль но там такие же ошибки)
*Там
0
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
21.04.2016, 21:45 9
Цитата Сообщение от Андрей_Андрeй Посмотреть сообщение
программа турбо паскаль
Было такое у меня подозрение, эта программа компилируется во freepascal и в TP .
Для чего вы в этой теме пишете?
0
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
21.04.2016, 21:53 10
Она нигде не компилируется)))
0
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
21.04.2016, 21:56 11
shilko2013,
Цитата Сообщение от capricornus CF Посмотреть сообщение
эта программа компилируется во freepascal и в TP
Вы длину константы строковой сделайте равной 10 для TP.
На FP компилируется в обоих режимах (FP и TP)
1
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
21.04.2016, 22:05 12
Так точно, командир!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2016, 22:05
Помогаю со студенческими работами здесь

Встречено := а ожидался оператор
Встречено := а ожидался оператор: Условие: Дан массив заполненный по формуле cos(x/3),...

Встречено 'procedure', а ожидался оператор
program lab5; type arr=array of integer; const n=3; var a:arr; i1,j1,k1,sum:integer; ...

Встречено array, а ожидался оператор
В 26 строке выдает ошибку. Program lab8_Smirnov_var10_2; uses crt; const n=3; m=4; var...

Встречено 'procedure', а ожидался оператор
Встречено 'procedure', а ожидался оператор uses graphABC; var i: integer; KeyPressed:...


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

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

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