Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Инно4ка
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 24
1

Проверить программу из файла на соответствие числа открывающихся и закрывающихся круглых скобок.

10.03.2012, 14:37. Просмотров 632. Ответов 2
Метки нет (Все метки)

Дан текстовый файл содержащий программу на языке паскаль проверить эту программу на соответствие числа открывающихся и закрывающихся круглых скобок. Считая что каждый оператор программы записан не более 1-ой строки файла..
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2012, 14:37
Ответы с готовыми решениями:

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

Проверить файл на несоответствие числа открывающихся и закрывающихся круглых скобок
помогите решить ........................Тема: Работа с файлами. Цель:...

Проверить в строке баланс открывающихся и закрывающихся круглых скобок
Написать программу, которая проверяет в строке баланс открывающихся и...

Проверить, имеется ли в заданной строке символов баланс открывающихся и закрывающихся круглых скобок
.Проверить, имеется ли в заданной строке символов баланс открывающихся и ...

Проверить имеется ли в заданной строке символов баланс открывающихся и закрывающихся круглых скобок
проверить имеется ли в заданной строке символов баланс открывающихся и...

2
Ev[G]eN
iOS/Android Developer
Эксперт С++
5119 / 1557 / 950
Регистрация: 23.01.2011
Сообщений: 3,187
Завершенные тесты: 1
10.03.2012, 15:02 2
Лучший ответ Сообщение было отмечено Инно4ка как решение

Решение

вот как вариант
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
const
  Direction = 'C:\File.txt';
var
  Cnt1, Cnt2, Cnt3, Cnt4: integer;
  FileTxt: text;
  Bool: boolean;
  Str: string;
  i: byte;
begin
  assign(FileTxt, Direction);
  reset(FileTxt);
  while not EOF(FileTxt) do
  begin
    readln(FileTxt, Str);
    for i:=1 to length(Str) do
      if (Str[i] = '(') then inc(Cnt1)
        else if (Str[i] = ')') then inc(Cnt2)
          else if (Str[i] = '[') then inc(Cnt3)
            else if (Str[i] = ']') then inc(Cnt4);
    if (Cnt1 = Cnt2) and (Cnt3 = Cnt4) then Bool:=true
      else Bool:=false;
  end;
  close(FileTxt);
  writeln('Все ли скобки рассталвены верно? Ответ: ', Bool);
end.
0
КонецСвета
Почетный модератор
7931 / 3902 / 2464
Регистрация: 30.10.2011
Сообщений: 5,379
11.03.2012, 05:06 3
построчная проверка
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
uses crt;
var f: text;
    i,j,pr: integer;
    s: string;
begin
assign(f,'C:\in.txt');
reset(f);
while not (eof(f)) do
      begin
      pr:=0;
      inc(j);
      readln(f,s);
      for i:=1 to length(s) do
          begin
          if s[i]='(' then inc(pr);
          if s[i]=')' then dec(pr);
          end;
      write(j,' строка: ');
      if pr=0 then writeln('количество открывающих и закрывающих скобок равно') else
         if pr>0 then writeln('не хватает закрывающих скобок в количестве ',pr)
         else writeln('не хватает открывающих скобок в количестве ',abs(pr));
      end;
close(f);
end.
общая проверка
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
var f: text;
    i,pr: integer;
    s: string;
begin
assign(f,'C:\in.txt');
reset(f);
pr:=0;
while not (eof(f)) do
      begin
      readln(f,s);
      for i:=1 to length(s) do
          begin
          if s[i]='(' then inc(pr);
          if s[i]=')' then dec(pr);
          end;
      end;
      if pr=0 then writeln('количество открывающих и закрывающих скобок равно') else
         if pr>0 then writeln('не хватает закрывающих скобок в количестве ',pr)
         else writeln('не хватает открывающих скобок в количестве ',abs(pr));
close(f);
end.
пс обратите внимание: первый вариант программы срабатывает на ней самой (находит лишние скобки в 15 и 16 строках), а второй - нет, поскольку общее количество скобок в программе одинаково...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2012, 05:06

Определить баланс открывающихся и закрывающихся круглых скобок
1.Написать программу, которая проверяет в строке баланс открывающихся и...

Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке.
Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной...

Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке.
Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной...


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

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

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