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

Строка символов до точки

26.02.2014, 17:10. Показов 686. Ответов 4
Метки нет (Все метки)

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

Добавлено через 23 часа 14 минут
может что есть наподобие????

Добавлено через 40 секунд
может что есть наподобие???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2014, 17:10
Ответы с готовыми решениями:

Дана строка символов до точки
Дана строка символов до точки. Определить, является ли строка правильным скобочным...

Дана строка символов, длиной n. Преобразовать строку, заменив все восклицательные на точки
Дана строка символов, длиной n. Преобразовать строку, заменив все восклицательные на точки. Pascal

Дана строка символов до точки. Определить, является ли она правильным скобочным выражением. Рассматривать только круглые скобки.
Дана строка символов до точки. Определить, является ли она правильным скобочным выражением....

Дана строка символов. Подсчитать общее число вхождений символов +, -, *, / в строку. Произвести обмен символов + и -.
помогите, пожалуйста.

4
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
26.02.2014, 18:02 2
Самой воспользоваться поиском религия не позволяет?

Дана строка символов до точки
Дана строка символов до точки...
0
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 59
26.02.2014, 20:13  [ТС] 3
причем тут это????ну не воспользовалась и что??так трудно нормально ответить..лучше вообще не отвечал бы
0
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
26.02.2014, 21:21 4
Бушуева Марина, я Вам ответил - пройдите наконец-то по ссылкам!
0
905 / 232 / 100
Регистрация: 21.10.2012
Сообщений: 567
27.02.2014, 19:17 5
Цитата Сообщение от Бушуева Марина Посмотреть сообщение
лучше вообще не отвечал бы
Зря Вы нервничаете. Иногда, действительно полезно поискать самой!!!.

Попробуйте такие.

1. С произвольной строкой:
Кликните здесь для просмотра всего текста
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
uses    crt;
var
    i,x,y,
    k,l,n    : byte;
    b        : boolean;
    s        : string;
    ch       : char;
 
BEGIN
  clrscr;
  repeat
   repeat
    textcolor(7);
    s:='';k:=0;l:=0;b:=true;
    writeln('Введите строку с точкой в конце текста:');
    textcolor(15);
    readln(s);
    writeln;
    n:=pos('.',s);
    if n=0 then
     begin
       textcolor(12);writeln('В тексте отсутствует точка, посторите ввод.');
     end
           else
     begin
       s:=copy(s,1,n);
     end;
   until n>0;
    writeln('Введена строка:');
    for i:=1 to length(s) do
     begin
       if (s[i]='(') or (s[i]=')') then
          textcolor(13)
                                   else
          textcolor(14);
       write(s[i]);
     end;writeln;writeln;
    for i:=1 to length(s) do
       begin
        if s[i]='('then inc(k);
        if s[i]=')'then
           begin
             inc(l);
             if l>k then b:=false; {если закрывающая раньше}
           end;
       end;
    if (k=0)and(l=0) then
       begin textcolor(15);writeln('Скобки в тексте отсутствуют');end
                     else
       begin
        if k-l=0 then
         if b=true then
          begin textcolor(10);writeln('Скобки расставлены верно');end
                   else
          begin textcolor(10);write('Скобок поровну, НО ');
                textcolor(12);writeln('Закрывающая раньше открывающей!');
          end
                 else
          begin
           if k-l<0 then
            begin textcolor(13);writeln('Закрывающих скобок больше на ',l-k);
              if k=0 then
               begin textcolor(11);writeln('Открывающих скобок НЕТ');
               end;
            end
                    else
            begin textcolor(11);writeln('Открывающих скобок больше на ',k-l);
              if l=0 then
               begin textcolor(13);writeln('Закрывающих скобок НЕТ');
               end;
            end;
        end;
       end;
     writeln;textcolor(7);
     writeln('<Esc> - закончить, любая другая - продолжить ...');
     ch:=readkey;
  until ch=#27;
END.

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
uses    crt;
var
    i,x,y,
    k,l,m,n  : byte;
    b        : boolean;
    s        : string;
    ch       : char;
 
BEGIN
   clrscr;
   repeat
    textcolor(7);
    writeln('Если хотите закончить программу нажмите <Esc>');
    m:=0;s:='';n:=0;k:=0;l:=0;b:=true;
    writeln('Введите строку с точкой в конце текста:');
    textcolor(15);
    repeat
     if m<80 then
      begin
          ch:=readkey;
          case ch of
           #0         : begin
                          ch:=readkey;
                        end;
           #032..#175,
           #224..#241 : begin
                          if (m=79)and(ch<>'.') then
                           begin
                             X:=wherex;Y:=wherey;textcolor(12);
                             window(1,25,80,25);gotoxy(10,wherey);
                             write('У Вас осталось одно знакоместо для точки !!!');
                             window(1,1,80,24);                                                                                                                       
                             n:=1;textcolor(15);gotoxy(x,y);
 
                           end
                                                else
                           begin
                            if (ch='.') and (length(s)=0) then
                              begin
                              end
                                                          else
                              begin
                                s:=s+ch;write(ch);inc(m);
                              end;
                           end;
                        end;
           #8         : begin
                         if (m=79)and(n=1) then
                          begin
                            X:=wherex;Y:=wherey;
                            window(1,25,80,25);clreol;
                            window(1,1,80,24);gotoxy(x,y);n:=0;
                          end;
                         if ord(s[0])>0 then
                          begin
                            gotoxy(wherex-1,wherey);write(chr(255));
                            gotoxy(wherex-1,wherey);dec(m);
                            s[0]:=chr(ord(s[0])-1);
                          end;
                        end;
           #27        : begin exit;end;
          end;
        end;
    until (length(s)>0) and (ch='.');
    writeln;
    if m<80 then writeln;
    writeln('Введена строка:');
    for i:=1 to length(s) do
     begin
       if (s[i]='(') or (s[i]=')') then
          textcolor(13)
                                   else
          textcolor(14);
       write(s[i]);
     end;writeln;
    if m<80 then writeln;
    X:=wherex;Y:=wherey;textcolor(7);window(1,25,80,25);
    clreol;window(1,1,80,24);gotoxy(x,y);n:=0;
    for i:=1 to length(s) do
       begin
        if s[i]='('then inc(k);
        if s[i]=')'then
           begin
             inc(l);
             if l>k then b:=false; {если закрывающая раньше}
           end;
       end;
    if (k=0)and(l=0) then
       begin textcolor(15);writeln('Скобки в тексте отсутствуют');end
                     else
       begin
        if k-l=0 then
         if b=true then
          begin textcolor(10);writeln('Скобки расставлены верно');end
                   else
          begin textcolor(10);write('Скобок поровну, НО ');
                textcolor(12);writeln('Закрывающая раньше открывающей!');
          end
                 else
          begin
           if k-l<0 then
            begin textcolor(13);writeln('Закрывающих скобок больше на ',l-k);
              if k=0 then
               begin textcolor(11);writeln('Открывающих скобок НЕТ');
               end;
            end
                    else
            begin textcolor(11);writeln('Открывающих скобок больше на ',k-l);
              if l=0 then
               begin textcolor(13);writeln('Закрывающих скобок НЕТ');
               end;
            end;
        end;
       end;
       writeln;
   until ch=#27;
END.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2014, 19:17
Помогаю со студенческими работами здесь

Если длина строка больше 80 символов, копировать в новый файл по 80 символов
Условие: написать программу копирования текста при условии: 1. если длина строка больше 80...

Данная строка символов. Подсчитать общее число входящих в сроке символов '+' и '-'.
Помогите написать программу. Данная строка символов. Подсчитать общее число входящих в сроку...

Дана строка символов. Определите, сколько раз среди символов строки встречается буква x
Дана строка символов. Определите, сколько раз среди символов строки встречается буква x.

Строка: в строке символов определить группы цифровых символов
в строке символов определить группы цифровых символов. Превратить их в числа и найти их сумму.


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

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

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