Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
-8 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 100
1

Встречено 'array', а ожидался оператор

28.11.2016, 18:59. Показов 6275. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Выдает ошибку в строчке c:array [1..3,1..4] of integer;

Как её исправить?

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
uses
crt;
var
k: integer;
a, b, c, x, D, x1, x2, x3,x4, z, t, t1, t2: real;
begin
Writeln('Введите цыфру какое именно решения вы хотите = ');
Writeln('Линейное уравнения - "1"');
Writeln('Квадратное уравнение - "2"');
Writeln('Биквадратное уравнение - "3"');
Readln(z);
if z=1 then
begin
Write('Введите значение А = ');
readln(a);
Write('Введите значение В = ');
readln(b);
if (a=0) then writeln ('Нет решений') else
if (b=0) then writeln ('X - любое число') else
writeln ('X < ',-b/a:0:2);
end;
if z=2 then
begin
Write('Введите значение А = ');
readln(a);
Write('Введите значение В = ');
readln(b);
Write('Введите значение C = ');
readln(c);
D := b * b - 4 * a * c;
if (D < 0) then Writeln('корней нет') else
if (D > 0) then
begin
x1 := (-b + sqrt(d)) / (2 * a);
x2 := (-b - sqrt(d)) / (2 * a);
Writeln('x1=', x1:0:3, ' x2=', x2:0:3);
end
else
if (D = 0) then
Writeln('x1=x2 =', -b / 2 * a);
end;
if z=3 then
Begin
write('Введите значение a ='); readln(a);
write('Введите значение b ='); readln(b);
write('Введите значение c ='); readln(c);
d:=b*b-4*a*c;
if d<0 then write('Корней нет') else
if d=0 then begin t:=-b/2*a; writeln('x1= ',sqrt(t):3:3,'; x2= ', -sqrt(t):3:3); end else
if d>0 then begin t1:=(-b+sqrt(d))/2*a; t2:=(-b-sqrt(d))/2*a;
 
if (t1<0) and (t2<0) then writeln('Корни у дискриминанта получиись отрицательными, следовательно решения нет')
else begin
if (t1>=0) and (t2>=0) then writeln('x1= ',sqrt(t1):3:3,'; x2= ',sqrt(t2):3:3,'; x3= ',-sqrt(t1):3:3,'; x4= ',-sqrt(t2):3:3)
else
if (t2<0) then writeln('x1= ',sqrt(t1):3:3,'; x2= ', -sqrt(t1):3:3) else
if (t1<0) then writeln('x1= ',sqrt(t2):3:3,'; x2= ', -sqrt(t2):3:3);
 
if z=3 then
 
var
   a1,b1,c1,d1,i,t,j:integer;
   s: real;
   c:array [1..3,1..4] of integer;
   a,b,d: array[1..3,1..3]of integer;
   begin
   clrscr;
   for t:=1 to 3 do                  {vvod rasshirennoi matricu}
     begin
     writeln(t,' строка массива');
     for i:=1 to 4 do read(c[t,i]);
     end;
   writeln;
    for i:=1 to 3 do                     {zamena odnogo stolbca svobodnumi elementami}
      begin
      for t:=1 to 3 do
      begin
      if t=1 then a[i,t]:=c[i,4] else a[i,t]:=c[i,t];
       write(' ',a[i,t]);
       end;
       writeln;
       end;writeln;
 
     for i:=1 to 3 do                     {zamena odnogo stolbca svobodnumi elementami}
      begin
      for t:=1 to 3 do
      begin
      if t=2 then b[i,t]:=c[i,4] else b[i,t]:=c[i,t];
       write(' ',b[i,t]);
       end;
       writeln;
       end; writeln;
 
      for i:=1 to 3 do                     {zamena odnogo stolbca svobodnumi elementami}
      begin
      for t:=1 to 3 do
      begin
      if t=3 then d[i,t]:=c[i,4] else d[i,t]:=c[i,t];
       write(' ',d[i,t]);
       end;
       writeln;
       end;
       j:=c[1,1]*c[2,2]*c[3,3]+c[2,1]*c[3,2]*c[1,3]+c[1,2]*c[2,3]*c[3,1];
      j:=j-(c[1,3]*c[2,2]*c[3,1]+c[2,1]*c[1,2]*c[3,3]+c[1,1]*c[2,3]*c[3,2]);
      writeln;
      writeln(' det =',j);     {rascet opredelitely}
      c1:=j;
 
       j:=a[1,1]*a[2,2]*a[3,3]+a[2,1]*a[3,2]*a[1,3]+a[1,2]*a[2,3]*a[3,1];
      j:=j-(a[1,3]*a[2,2]*a[3,1]+a[2,1]*a[1,2]*a[3,3]+a[1,1]*a[2,3]*a[3,2]);
      writeln;
      writeln(' det =',j);     {rascet opredelitely}
      a1:=j;
      j:=b[1,1]*b[2,2]*b[3,3]+b[2,1]*b[3,2]*b[1,3]+b[1,2]*b[2,3]*b[3,1];
      j:=j-(b[1,3]*b[2,2]*b[3,1]+b[2,1]*b[1,2]*b[3,3]+b[1,1]*b[2,3]*b[3,2]);
      writeln;
      writeln(' det =',j);     {rascet opredelitely}
      b1:=j;
      j:=d[1,1]*d[2,2]*d[3,3]+d[2,1]*d[3,2]*d[1,3]+d[1,2]*d[2,3]*d[3,1];
      j:=j-(d[1,3]*d[2,2]*d[3,1]+d[2,1]*d[1,2]*d[3,3]+d[1,1]*d[2,3]*d[3,2]);
      writeln;
      writeln(' det =',j);     {rascet opredelitely}
      d1:=j;
      s:=a1/c1;
      writeln(' x1= ',s:3:2);
      s:=b1/c1;
      writeln(' x2= ',s:3:2);
      s:=d1/c1;
      writeln(' x3= ',s:3:2);
      readln;readln;
      end.
 
end;
end;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2016, 18:59
Ответы с готовыми решениями:

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

Встречено else, а ожидался оператор
Помогите пожалуйста, минут 30 смотрю в код и не понимаю где ошибка Ошибка на строке 29 - Syntax...

Встречено Else а ожидался оператор
Написал программу: program klxz3; var x,y,z1,z2:real; begin writeln('Введите x и y');...

Встречено 'else', а ожидался оператор
В 44 строчки ошибка: Встречено 'else', а ожидался оператор. Помогите разобраться что не так....

7
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
28.11.2016, 20:25 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
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
uses crt;
procedure p1;
var a,b:real;
begin
clrscr;
write('Введите значение А = ');
readln(a);
write('Введите значение В = ');
readln(b);
if (a=0) then writeln ('Нет решений') else
if (b=0) then writeln ('X - любое число') else  writeln ('X < ',-b/a:0:2);
readln;
end;
procedure p2;
var a,b,c,d,x1,x2:real;
begin
clrscr;
write('Введите значение А = ');
readln(a);
write('Введите значение В = ');
readln(b);
write('Введите значение C = ');
readln(c);
d:= b * b - 4 * a * c;
if (d < 0) then Writeln('корней нет') else
if (d > 0) then
 begin
  x1 := (-b + sqrt(d)) / (2 * a);
  x2 := (-b - sqrt(d)) / (2 * a);
  writeln('x1=', x1:0:3, ' x2=', x2:0:3);
 end
else if (D = 0) then Writeln('x1=x2 =', -b / 2 * a);
readln;
end;
procedure p3;
var a,b,c,d,t,t1,t2:real;
begin
clrscr;
write('Введите значение a ='); readln(a);
write('Введите значение b ='); readln(b);
write('Введите значение c ='); readln(c);
d:=b*b-4*a*c;
if d<0 then write('Корней нет') else
if d=0 then
 begin
  t:=-b/2*a;
  writeln('x1= ',sqrt(t):3:3,'; x2= ', -sqrt(t):3:3);
 end
else if d>0 then
 begin
  t1:=(-b+sqrt(d))/2*a;
  t2:=(-b-sqrt(d))/2*a;
  if (t1<0) and (t2<0) then writeln('Корни у дискриминанта получиись отрицательными, следовательно решения нет')
  else
   begin
    if (t1>=0) and (t2>=0) then writeln('x1= ',sqrt(t1):3:3,'; x2= ',sqrt(t2):3:3,'; x3= ',-sqrt(t1):3:3,'; x4= ',-sqrt(t2):3:3)
    else if (t2<0) then
    writeln('x1= ',sqrt(t1):3:3,'; x2= ', -sqrt(t1):3:3)
    else if (t1<0) then
    writeln('x1= ',sqrt(t2):3:3,'; x2= ', -sqrt(t2):3:3);
   end;
 end;
readln;
end;
procedure p4;
var i,t:integer;
    j,a1,b1,c1,d1,s:real;
    c:array[1..3,1..4] of real;
    a,b,d: array[1..3,1..3]of real;
begin
for t:=1 to 3 do                  {vvod rasshirennoi matricu}
 begin
  writeln(t,' строка массива');
  for i:=1 to 4 do read(c[t,i]);
 end;
writeln;
for i:=1 to 3 do                     {zamena odnogo stolbca svobodnumi elementami}
 begin
  for t:=1 to 3 do
   begin
    if t=1 then a[i,t]:=c[i,4] else a[i,t]:=c[i,t];
    write(' ',a[i,t]);
   end;
  writeln;
 end;
writeln;
for i:=1 to 3 do                     {zamena odnogo stolbca svobodnumi elementami}
 begin
  for t:=1 to 3 do
   begin
    if t=2 then b[i,t]:=c[i,4] else b[i,t]:=c[i,t];
    write(' ',b[i,t]);
   end;
  writeln;
 end;
writeln;
for i:=1 to 3 do                     {zamena odnogo stolbca svobodnumi elementami}
 begin
  for t:=1 to 3 do
   begin
    if t=3 then d[i,t]:=c[i,4] else d[i,t]:=c[i,t];
    write(' ',d[i,t]);
   end;
  writeln;
 end;
j:=c[1,1]*c[2,2]*c[3,3]+c[2,1]*c[3,2]*c[1,3]+c[1,2]*c[2,3]*c[3,1];
j:=j-(c[1,3]*c[2,2]*c[3,1]+c[2,1]*c[1,2]*c[3,3]+c[1,1]*c[2,3]*c[3,2]);
writeln;
writeln(' det =',j);     {rascet opredelitely}
c1:=j;
j:=a[1,1]*a[2,2]*a[3,3]+a[2,1]*a[3,2]*a[1,3]+a[1,2]*a[2,3]*a[3,1];
j:=j-(a[1,3]*a[2,2]*a[3,1]+a[2,1]*a[1,2]*a[3,3]+a[1,1]*a[2,3]*a[3,2]);
writeln;
writeln(' det =',j);     {rascet opredelitely}
a1:=j;
j:=b[1,1]*b[2,2]*b[3,3]+b[2,1]*b[3,2]*b[1,3]+b[1,2]*b[2,3]*b[3,1];
j:=j-(b[1,3]*b[2,2]*b[3,1]+b[2,1]*b[1,2]*b[3,3]+b[1,1]*b[2,3]*b[3,2]);
writeln;
writeln(' det =',j);     {rascet opredelitely}
b1:=j;
j:=d[1,1]*d[2,2]*d[3,3]+d[2,1]*d[3,2]*d[1,3]+d[1,2]*d[2,3]*d[3,1];
j:=j-(d[1,3]*d[2,2]*d[3,1]+d[2,1]*d[1,2]*d[3,3]+d[1,1]*d[2,3]*d[3,2]);
writeln;
writeln(' det =',j);     {rascet opredelitely}
d1:=j;
s:=a1/c1;
writeln(' x1= ',s:3:2);
s:=b1/c1;
writeln(' x2= ',s:3:2);
s:=d1/c1;
writeln(' x3= ',s:3:2);
readln;
end;
 
var z:char;
begin
repeat
clrscr;
Writeln('Введите какое именно решения вы хотите = ');
Writeln('Линейное уравнения - "1"');
Writeln('Квадратное уравнение - "2"');
Writeln('Биквадратное уравнение - "3"');
Writeln('Ситему уравнений - "4"');
writeln('Другое выход');
Readln(z);
case z of
'1':p1;
'2':p2;
'3':p3;
'4':p4;
else exit;
end;
until not(z in ['1'..'4']);
end.
1
-8 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 100
29.11.2016, 15:16  [ТС] 3
Спасибо, а как сделать чтобы выводил данные систем уравнений (Крамер)?
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
29.11.2016, 15:26 4
Между строками 75 и 76 вставить
Pascal
1
2
3
4
5
6
writeln('Расширенная матрица');
for t:=1 to 3 do 
 begin
  for i:=1 to 3 do write(c[t,i]:5:2);
  writeln(c[t,4]:7:2);
 end;
0
-8 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 100
29.11.2016, 15:37  [ТС] 5
Он выводит, но потом тут же все стирает.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
29.11.2016, 15:40 6
А, разбирайся сам, фиг знает что и где ты содрал, я не экстрасенс, ты спросил, я ответил.
0
-8 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 100
29.11.2016, 15:42  [ТС] 7
Спасибо)
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
29.11.2016, 15:42 8
Самому нужно писать программы и думать, а лепить их говна конфетку да еще чужими руками это не есть хорошо.
0
29.11.2016, 15:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2016, 15:42
Помогаю со студенческими работами здесь

Ошибка "встречено else, а ожидался оператор"
Пишет в откладке yes но всеровно неправильно

Встречено 'for', а ожидался идентификатор
Помогите пожалуйста найти и исправить ошибки в приведенном коде. Написанный от руки код мне дали,...

Встречено 'case', а ожидался идентификатор
При компиляции пишет: &quot;Встречено 'case', а ожидался идентификатор.&quot; В чем может быть ошибка? Const...

Program1.pas(34) : Встречено 'begin', а ожидался идентификатор
34 строка uses GraphABC, events; var a,i: integer; B:array of string; // B - это массив для...


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

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