Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
165 / 51 / 36
Регистрация: 13.04.2012
Сообщений: 598
1

Встречено 'i', а ожидалось ';'

06.03.2019, 23:22. Показов 4945. Ответов 45
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
во всех строках типа
Pascal
1
writeln('введите координаты X Y Z 'i'й точки:');
не хочет добавлять цифру "i", выдавая ошибку (Встречено 'i', а ожидалось ';')....

вот например 2 примера одной программы:

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
program structure;
 type point=record
  x,y,z: integer;
  r,g,b: integer;
 end;
var
  n: array[1..10] of point;
  i,t:integer;
begin
  writeln ('введите кол-во точек от 1 до 10:' );
  readln(t);
  for i:=1 to t do with n[i] do
 begin
    writeln('введите координаты X Y Z 'i'й точки:');
    read(x,y,z);
 end;
   for i:=1 to t do with n[i] do
    begin
      writeln('введите цвета R G B 'i'й точки:');
      read(r,g,b); 
    end;
writeln('|точка| координаты |   цвет    |');
for i:=1 to t do
Writeln('|  i  |x='x[i]' y='y[i]' z='z[i]' |r='r[i]' g='g[i]' b='b[i]'|');
end.

Кликните здесь для просмотра всего текста
и пример чуть изменённой с эмулятором массива


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
program structure;
Const
  R=10;
 type point=record
  x,y,z: integer;
  r,g,b: integer;
    end;
  TInd=1..R;
  TElem=Integer;
  TMas=Array [TInd] Of TElem;
var
  n: array[1..10] of point;
  t:integer;
  i:TInd;
begin
  writeln ('введите кол-во точек от 1 до 10:' );
  readln(t);
  for i:=1 to t do with n[i] do
 begin
    writeln('введите координаты X Y Z 'i'й точки:');
    read(x[i],y[i],z[i]);
 end;
   for i:=1 to t do with n[i] do
    begin
      writeln('введите цвета R G B 'i'й точки:');
      read(r,g,b); 
    end;
writeln('|точка| координаты |   цвет    |');
for i:=1 to t do
Writeln('|  i  |x='x[i]' y='y[i]' z='z[i]' |r='[i]' g='g[i]' b='b[i]'|');
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2019, 23:22
Ответы с готовыми решениями:

Встречено 'else', а ожидалось ';'
var a,b,c,D, x1, x2: real; begin writeln('Дано уравнение вида ax^2+bx+c=0'); writeln...

Встречено '.', а ожидалось ';'
Привет, форум. Не могу найти ошибку, поможете? function Chr(arg : integer) : char; function...

Встречено ';', а ожидалось ')'
Program2.pas(19) : Str (r:integer; buf:string); ошибка Встречено ';', а ожидалось ')'

Встречено 'else', а ожидалось ';'
program Nikita; var A, B, N, x : integer; d, F :real; Function Cos(X : integer): Real;...

45
165 / 51 / 36
Регистрация: 13.04.2012
Сообщений: 598
11.03.2019, 16:28  [ТС] 41
Author24 — интернет-сервис помощи студентам
а каким образом из этой программы сделать 3 структуры? главное нигде об этом не написано, и примеров программы нет никаких, был бы хотябы какойнибудь учебник где такое объясняется, не всеж гении, которые с закрытыми глазами программы пишут, для меня это как постройка космического корабля, где без детальных объяснений и наглядно-действенных примеров не разобраться....
0
621 / 941 / 150
Регистрация: 10.08.2015
Сообщений: 5,018
11.03.2019, 20:43 42
структуры - это в с/с++
0
165 / 51 / 36
Регистрация: 13.04.2012
Сообщений: 598
11.03.2019, 21:22  [ТС] 43
Цитата Сообщение от Sun Serega Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
type
  r1 = record
   i: integer;
 end;
  r2 = record
   o: r1;
  end;
begin end.

это получается как двумерная текстура?

получается из этой программы, с одномерной структурой
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
program structure;
Const
  R=10;
 type point=record
  x,y,z: byte;
  color: string;
    end;
  TInd=1..R;
  TElem=char;
  TMas=Array [TInd] Of TElem;
var
  n: array[1..10] of point;
  t:byte;
  i:TInd;
begin
  writeln ('введите кол-во точек от 1 до 10:' );
  readln(t);
  for i:=1 to t do
 begin
    writeln($'введите координаты X Y Z {i}й точки:');
    readln(n[i].x,n[i].y,n[i].z);
 end;
   for i:=1 to t do 
    begin
      writeln($'введите цвет {i}й точки:');
      readln(n[i].color); 
    end;
writeln('|точка| координаты | цвет |');
for i:=1 to t do
Writeln($'|  {i}  |x={n[i].x} y={n[i].y} z={n[i].z} |',n[i].color:6,'|');
end.
надо разделить точку, координаты и цвет на 3 структуры,
я понятия не имею как это делать, но всё что пришло в голову, это что-то такого типа:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
 type color=record
   r,g,b: byte;
    end;
 type coord=recorg
   x,y,z:byte
    end;
 type point=record
   c:color;
   k:coord;
    end;
 type list=record
   p:point;
    end;
получается как список точек, в котором содержатся координаты и цвет, но из этого создать программу что-то вообще.... никак....

есть у кого-нибудь примеры с похожими программами? скиньте ссылки ребят
0
2308 / 1419 / 516
Регистрация: 07.04.2017
Сообщений: 4,721
11.03.2019, 22:05 44
Ну, point вы наконце собрали. А зачем list? И это не список, вы в нём храните только 1 экземпляр point. Просто сделайте снова array of point. Теперь, к примеру, координату x первой точки можно будет получить как n[1].coord.x.
1
165 / 51 / 36
Регистрация: 13.04.2012
Сообщений: 598
12.03.2019, 21:52  [ТС] 45
Цитата Сообщение от Sun Serega Посмотреть сообщение
Ну, point вы наконце собрали. А зачем list? И это не список, вы в нём храните только 1 экземпляр point. Просто сделайте снова array of point. Теперь, к примеру, координату x первой точки можно будет получить как n[1].coord.x.
то что получилось,
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
program structure;
Const
   R=10;
  type color=record
     r,g,b: byte;
    end;
  type coord=record
     x,y,z:byte;
    end;
  type point=record
     c:color;
     k:coord;
  end;
 TInd=1..R;
 TElem=byte;
 TMas=Array [TInd] Of TElem;
var
  n: array[1..R] of point;
  t:byte;
  i:TInd;
begin
  writeln ('введите кол-во точек от 1 до 10:' );
  readln(t);
  for i:=1 to t do
 begin
    writeln($'введите координаты X Y Z {i}й точки:');
    read(n[i].k.x,n[i].k.y,n[i].k.z);
 end;
   for i:=1 to t do 
    begin
      writeln($'введите цвета R G B {i}й точки:');
      read(n[i].c.r,n[i].c.g,n[i].c.b); 
    end;
writeln('|точка| координаты |   цвет    |');
for i:=1 to t do
Writeln($'|  {i}  |x={n[i].k.x} y={n[i].k.y} z={n[i].k.z} |r={n[i].c.r} g={n[i].c.g} b={n[i].c.b}|');
end.
это считается как трёхмерная структура??? если да то ура!
0
2308 / 1419 / 516
Регистрация: 07.04.2017
Сообщений: 4,721
12.03.2019, 22:00 46
Ну, если не считать что понятия "трёхмерная структура" не существуюет - то да))
0
12.03.2019, 22:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2019, 22:00
Помогаю со студенческими работами здесь

Встречено 'until', а ожидалось ';'
Program calculator; //v1.1 var a,b,rez:real;oper,calc:string;flag_start:boolean; Begin...

Встречено else, а ожидалось ';'
var a1,b1,a,b: real; begin Writeln('Введите А'); readln(a); Writeln('Введите B'); readln(b);...

Встречено '.', а ожидалось ';'
На 169 строке возникает ошибка "Встречено '.', а ожидалось ';'". Помогите, пожалуйста, решить ее. ...

Встречено 'else', а ожидалось ';'
program lol; uses crt; const nmax = 20; type matr = array of integer;


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

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