Написать программу на языке паскаль Дана непустая последовательность символов. Нужно
Написать программку на языке паскаль
Дана непустая последовательность знаков. Требуется выстроить и напечатать огромное количество, элементами которого являются встречающиеся в последовательности:
3.1. Знаки операций дела;
3.2. Вычислить количество частей в сделанных обилиях
Семик Подзноев
а, всё, увидел. сейчас напишу.
Дима Анестин
ну скажи что сделал плизззз
Владимир Рыбасеко
10 минут....
София Зыссер
погодь, так на него уже ранее решение дали. ты же два раза располагала вопрос. на первом теснее ответ написали
Чинкин
Николай
так там не то чт мне необходимо
Леня Бихлейзер
а условии 3.1 - знаки операций И дела?
Елена Продченко
ну это =', '<>', '<=', '<', '>=', '>'
Stefanija
ок. ща напишу
Ден Каризонов
сейчас на работе медли особенно не было отладить программку, не совершенно корректно себя водит. завтра дома до разума доведу и скину решение. С праздничком тебя, кстати.
Ника Михаличко
спасибо)
1 ответ
Anatolij Timoshpolskij
Фух. допилил программу. лови решение:
program parser;
var
a : array[1..255] of string;
i, cnt : integer;
sum1, sum2, sum3, sum4, sum5, sum6, sum7 : integer;
ch, last : char;
st : string;
dbl : boolean;
begin
write('Input a string: ');
readln(st);
last := ' ';
cnt := 1;
dbl := false;
for i:=1 to length(st) do
begin
ch := st[i];
if (ch in ['lt;', 'gt;', ':', '=']) and (last=' ') then begin
if dbl then begin
dbl:= not dbl;
continue;
end;
last := ch;
ch := st[i+1];
if (ch='=') or (ch='gt;') then begin
a[cnt] := last + ch;
writeln(a[cnt]);
cnt := cnt+1;
dbl := true;
if length(a[cnt-1])=2 then last := ' ';
end
else begin
a[cnt] := last;
writeln(a[cnt]);
cnt := cnt+1;
last := ' ';
end;
end;
end;
sum1 := 0;
sum2 := 0;
sum3 := 0;
sum4 := 0;
sum5 := 0;
sum6 := 0;
sum7 := 0;
for i:=1 to cnt do begin
if a[i] = 'lt;' then inc(sum1);
if a[i] = 'gt;' then inc(sum2);
if a[i] = 'gt;=' then inc(sum3);
if a[i] = 'lt;=' then inc(sum4);
if a[i] = 'lt;gt;' then inc(sum5);
if a[i] = ':=' then inc(sum6);
if a[i] = '=' then inc(sum7);
end;
writeln('gt; - ', sum1);
writeln('lt; - ', sum2);
writeln('= - ', sum7);
writeln('gt;= - ', sum3);
writeln('lt;= - ', sum4);
writeln('lt;gt; - ', sum5);
writeln(':= - ', sum6);
end.
program parser;
var
a : array[1..255] of string;
i, cnt : integer;
sum1, sum2, sum3, sum4, sum5, sum6, sum7 : integer;
ch, last : char;
st : string;
dbl : boolean;
begin
write('Input a string: ');
readln(st);
last := ' ';
cnt := 1;
dbl := false;
for i:=1 to length(st) do
begin
ch := st[i];
if (ch in ['lt;', 'gt;', ':', '=']) and (last=' ') then begin
if dbl then begin
dbl:= not dbl;
continue;
end;
last := ch;
ch := st[i+1];
if (ch='=') or (ch='gt;') then begin
a[cnt] := last + ch;
writeln(a[cnt]);
cnt := cnt+1;
dbl := true;
if length(a[cnt-1])=2 then last := ' ';
end
else begin
a[cnt] := last;
writeln(a[cnt]);
cnt := cnt+1;
last := ' ';
end;
end;
end;
sum1 := 0;
sum2 := 0;
sum3 := 0;
sum4 := 0;
sum5 := 0;
sum6 := 0;
sum7 := 0;
for i:=1 to cnt do begin
if a[i] = 'lt;' then inc(sum1);
if a[i] = 'gt;' then inc(sum2);
if a[i] = 'gt;=' then inc(sum3);
if a[i] = 'lt;=' then inc(sum4);
if a[i] = 'lt;gt;' then inc(sum5);
if a[i] = ':=' then inc(sum6);
if a[i] = '=' then inc(sum7);
end;
writeln('gt; - ', sum1);
writeln('lt; - ', sum2);
writeln('= - ', sum7);
writeln('gt;= - ', sum3);
writeln('lt;= - ', sum4);
writeln('lt;gt; - ', sum5);
writeln(':= - ', sum6);
end.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов