Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17

В чем ошибка? "Ожидалась закрывающая скобка"

27.11.2014, 18:53. Показов 5996. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При попытке запуска программы вылезает сообщение "Ожидалась закрывающая скобка". Все проверила, но не понимаю, в чем проблема.

Функция:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
function name (A: array [1..8,1..10] of integer;
               B: array [1..4,1..8] of integer;
               C: array [1..3,1..7] of integer;
               var k1, k2, k3, i, j: integer;): {Вот здесь и вылезает это сообщение}integer;
begin
k1:=0; k2:=0; k3:=0;
if A[i,j]<0 then begin k1:=k1+1;
writeln ('Отрицательный - ',k1); end;
if A[i,j]=0 then begin k2:=k2+1;
writeln ('Нулевой - ',k2); end;
if A[i,j]>0 then begin k3:=k3+1;
writeln ('Положительный - ',k3);
end; end;
Если это имеет значение, то программа должна вывести количество положительных, нулевых и отрицательных элементов массива.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2014, 18:53
Ответы с готовыми решениями:

Ожидалась закрывающаяся скобка
Ребят, помогите найти проблему в коде. Паскаль выдает ошибку &quot;ожидалась закрывающаяся скобка&quot;. Все проверил, не понимаю в чем проблема...

Определить, каким по счёту символом от начала файла окажется 10000-я закрывающая скобка
Текстовый файл 24-5.txt содержит последовательность из символов «(» и «)», всего не более 106 символов. Определить, каким по счёту символом...

Дана строка символов,среди которых есть одна открывающаяся и одна закрывающая скобка
Дана строка символов,среди которых есть одна открывающаяся и одна закрывающая скобка.Вывести на экран все символы,расположенные внутри этих...

20
 Аватар для ermolay
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
27.11.2014, 18:58
а какова полная формулировка задания?
1
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 19:02  [ТС]
Задание:
"Определить количество положительных, отрицательных и нулевых элементов в трех заданных матрицах: A(8,10), В(4,8), С(3,7). Подсчет указанных чисел в матрице оформить в виде функций."
0
 Аватар для ermolay
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
27.11.2014, 19:23
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const
  nmax = 10;
  
{определяем тип матрицы}
type
  TAr = array[1..nmax, 1..nmax] of integer;
 
function count1(a: TAr; n, m: integer): integer;
var
  i, j,k : integer;
begin
  k:=0;
  for i:=1 to n do
    for j:=1 to m do
      if a[i,j]>0 then inc(k);
  count1:=k;
end;
{для равных нулю и отрицательных составляем подобные функции}
1
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 19:33  [ТС]
Теперь объясните мне, что означают такие вещи, как:
1) nmax - я понимаю, что максимальное значение М (по школе - A[N,M], A[i,j]) - так ли это?
2) TAr - смысл примерно в этом "каждый массив по отдельности" - верно?
3) Count1 - видимо, вместо моего "name"?
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
27.11.2014, 19:36
Цитата Сообщение от AlekSiSS21 Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
function name (A: array [1..8,1..10] of integer;
                     B: array [1..4,1..8] of integer;
* * * * * * * *C: array [1..3,1..7] of integer;
* * * * * * * *var k1, k2, k3, i, j: integer[B][COLOR="Red"];[/COLOR][/B]): {Вот здесь и вылезает это сообщение}integer;
begin
k1:=0; k2:=0; k3:=0;
if A[i,j]<0 then begin k1:=k1+1;
writeln ('Отрицательный - ',k1); end;
if A[i,j]=0 then begin k2:=k2+1;
writeln ('Нулевой - ',k2); end;
if A[i,j]>0 then begin k3:=k3+1;
writeln ('Положительный - ',k3);
end; end;
точку с запятой надо убрать.
0
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 19:37  [ТС]
Спасибо.

Только вот после этого вылезает сообщение "Ожидалось описание или begin".

Программа:

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
program {здесь оно и вылезает} poisk;
var A: array [1..8,1..10] of integer;
    B: array [1..4,1..8] of integer;
    C: array [1..3,1..7] of integer;
i, j: integer;
begin
randomize;
writeln ('Массив A');
for i:=1 to 8 do begin
for j:=1 to 10 do begin
A[i,j]:=random(50)-10;
write (A[i,j]:4);
end; writeln; end;
writeln ('Массив B');
for i:=1 to 4 do begin
for j:=1 to 8 do begin
B[i,j]:=random(50)-10;
write (B[i,j]:4);
end; writeln; end;
writeln ('Массив C');
for i:=1 to 3 do begin
for j:=1 to 7 do begin
C[i,j]:=random(50)-10;
write (C[i,j]:4);
end; writeln; end;
writeln ('Задание');
name (A, B, C);
end.
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
27.11.2014, 19:44
А функция "name" где находится?
0
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 19:46  [ТС]
В одном из сообщений выше.
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
27.11.2014, 19:46
Описание функции "name" должно находится между строками 5 и 6 в программе описанном в посте #7.
1
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 19:51  [ТС]
Он не принимает TAr.
Проблемы с этим:
Pascal
1
function name (a:=TAr; n,m:integer): integer;
Здесь не принимает присваивание.
Pascal
1
type TAr = array[1..nmax, 1..nmax] of integer;
"=" в описании?
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
27.11.2014, 19:53
Откуда равно взялось?
0
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 19:55  [ТС]
Сообщение #4.
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
27.11.2014, 19:57
В посте #4 нет знака "="
0
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 20:01  [ТС]
Все равно есть ошибки.

Теперь программа выглядит так:

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
program poisk;
const nmax = 10;
var type //Здесь появляется сообщение "Ожидался идентификатор, но "type" обнаружено. 
    TAr: array[1..nmax, 1..nmax] of integer;
 
    A: array [1..8,1..10] of integer;
    B: array [1..4,1..8] of integer;
    C: array [1..3,1..7] of integer;
i, j: integer;
function name (a:=TAr; n,m:integer): integer;   
var k, i, j: integer;
begin
k:=0;
for i:=1 to n do
for j:=1 to m do
if TAr[i,j]<0 then inc(k);
writeln ('Отрицательных - ',k);
if TAr[i,j]=0 then inc(k);
writeln ('Нулевых - ',k);
if TAr[i,j]>0 then inc(k);
writeln ('Положительных - ',k);
end;                                
 
begin                        
randomize;
writeln ('Массив A');
for i:=1 to 8 do begin
for j:=1 to 10 do begin
A[i,j]:=random(50)-10;
write (A[i,j]:4);
end; writeln; end;
writeln ('Массив B');
for i:=1 to 4 do begin
for j:=1 to 8 do begin
B[i,j]:=random(50)-10;
write (B[i,j]:4);
end; writeln; end;
writeln ('Массив C');
for i:=1 to 3 do begin
for j:=1 to 7 do begin
C[i,j]:=random(50)-10;
write (C[i,j]:4);
end; writeln; end;
end.
Добавлено через 44 секунды

Ответ вышеписавшему: есть, в 6-ой строке.
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
27.11.2014, 20:14
У меня объявление констант, типов и переменных выглядит так...
Pascal
1
2
3
4
5
6
7
8
9
const
  nmax = 10;
 
type
  TAr = array[1..nmax, 1..nmax] of integer;
 
var
  A,B,C: TAr;
  i,j: integer;
0
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 20:17  [ТС]
Ааа... Верно, спасибо.

Но теперь проблема в другом:
Pascal
1
2
3
4
5
6
7
function name (a: TAr; n,m:integer): integer;
var k, i, j: integer;
begin
k:=0;
for i:=1 to n do
for j:=1 to m do
if TAr{Переменная не является именем массива}[i,j]<0 then inc(k);
0
 Аватар для Антон1985
138 / 101 / 102
Регистрация: 03.02.2014
Сообщений: 427
27.11.2014, 20:22
а функции подсчета количества положительных, нулевых и отрицательных элементов выглядит так...
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
{ функции подсчета количества положительных элементов }
function count_Max(a: TAr; n, m: integer): integer;
var
  i, j,k : integer;
begin
  k:=0;
  for i:=1 to n do
    for j:=1 to m do
      if a[i,j]>0 then inc(k);
  count_Max:=k;
end;
 
{ функции подсчета количества нулевых элементов }
function count_Null(a: TAr; n, m: integer): integer;
var
  i, j,k : integer;
begin
  k:=0;
  for i:=1 to n do
    for j:=1 to m do
      if a[i,j]=0 then inc(k);
  count_Null:=k;
end;
 
{ функции подсчета количества отрицательных элементов }
function count_Min(a: TAr; n, m: integer): integer;
var
  i, j,k : integer;
begin
  k:=0;
  for i:=1 to n do
    for j:=1 to m do
      if a[i,j]<0 then inc(k);
  count_Min:=k;
end;
Добавлено через 2 минуты
Пример вызова функции для массива "A":
Pascal
1
2
3
4
5
  writeln ('Задание');
  writeln('massiv-A');
  writeln('Max=',count_Max(A, 8, 10));
  writeln('Nul=',count_Null(A, 4, 8));
  writeln('Min=',count_Min(A, 3, 7));
1
0 / 0 / 1
Регистрация: 23.10.2014
Сообщений: 17
27.11.2014, 20:35  [ТС]
Теперь Pascal возмущается, что nmax = 10.
0
 Аватар для ermolay
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
27.11.2014, 21:31
Лучший ответ Сообщение было отмечено AlekSiSS21 как решение

Решение

Цитата Сообщение от AlekSiSS21 Посмотреть сообщение
nmax - я понимаю, что максимальное значение М
для n и m
Цитата Сообщение от AlekSiSS21 Посмотреть сообщение
TAr - смысл примерно в этом "каждый массив по отдельности" - верно?
не совсем - это тип, каждый массив должен вписываться в TAr, грубо говоря
Цитата Сообщение от AlekSiSS21 Посмотреть сообщение
Count1 - видимо, вместо моего "name"?
да, но функций нужно три, потому и count1, count2, count3...
обзывайте по желанию, но лучше по смыслу...
вот функции, осталось всего навсего между 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
32
33
34
35
36
37
38
39
40
41
42
43
44
const
  nmax = 10;
 
type
  TAr = array[1..nmax, 1..nmax] of integer;
 
function count_plus(a: TAr; n, m: integer): integer;
var
  i, j, k: integer;
begin
  k := 0;
  for i := 1 to n do
    for j := 1 to m do
      if a[i, j] > 0 then inc(k);
  count1 := k;
end;
 
function count_minus(a: TAr; n, m: integer): integer;
var
  i, j, k: integer;
begin
  k := 0;
  for i := 1 to n do
    for j := 1 to m do
      if a[i, j] < 0 then inc(k);
  count1 := k;
end;
 
function count_eq(a: TAr; n, m: integer): integer;
var
  i, j, k: integer;
begin
  k := 0;
  for i := 1 to n do
    for j := 1 to m do
      if a[i, j] = 0 then inc(k);
  count1 := k;
end;
 
var
  a, b, c: tAr;
 
begin
end.
з.ы. импонирует, что вы пытаетесь разобраться. отчего слабые знания основ - не знаю, ну да мало ли.. пилите - да обрящете!)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.11.2014, 21:31
Помогаю со студенческими работами здесь

Дана строка. В ней есть одна открывающая и одна закрывающая скобка. Вывести на экран все символы, расположенные между ними
Дана строка.В ней есть одна открывающаяся скобка и одна закрывающаяся скобка.Вывести на экран все символы,расположенные между ними. ...

Ожидалась запятая или закрывающая скобка
Через myAdmin пробую создать таблицу, запятые поставлены, но выходит эта ошибка:

Во введенном выражении отсутствует закрывающая скобка, квадратная скобка или вертикальная черта
Здравствуйте, делаю курсач, у меня была кнопочная форма которая нормально работала, но оформление было некрасивое. Я начал оформлять, все...

Закрывающая скобка }
Подскажите, в скрипте ругается на отстутствие закрывающих скобок, Вроде все закрыто,,, Версия 5,1.14393 $xml = Get-Content...

Ошибка: "отсутствует закрывающая скобка"
Доброго дня, написал программу точно по образцу задания, но выдает ошибку &quot;отсутствует закрывающая скобка&quot; в строчке - scanf...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 01.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 31.01.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru