Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Ограничения и тестовые примеры

Автор: Анна 27.11.2005 22:13

Program Kursovik;

var
i, j, x, k, n : Integer;
a, b : array[0..999] of Char;
s: string;
begin
writeln('Введите строку: ');
readln(s);
i:=1; j:=1; k:=0; x:=0;

for x := 1 to length(s) do a[x] := s[x];
while not (i > x) do
begin
if not (a[i-1] in [#160.. #175, #224..#239]) then
if not (a[i-1] in [#48..#57]) then
if a[i] = 'р' then
if a[i+1] = 'а' then
if a[i+2] = 'к' then

if not (a[i+3] in [#160.. #175, #224..#239]) then
if not (a[i+3] in [#48..#57]) then
begin

b[j] := 'щ';
b[j+1] := 'у';
b[j+2] := 'к';
b[j+3] := 'а';


i := i + 3;
j := j + 4;
end
else begin b[j] := a[i]; i := i + 1; j := j + 1; end
else begin b[j] := a[i]; i := i + 1; j := j + 1; end
else begin b[j] := a[i]; i := i + 1; j := j + 1; end
else begin b[j] := a[i]; i := i + 1; j := j + 1; end
else begin b[j] := a[i]; i := i + 1; j := j + 1; end
else begin b[j] := a[i]; i := i + 1; j := j + 1; end
else begin b[j] := a[i]; i := i + 1; j := j + 1; end

end;
write('Результирующий массив:');
repeat
k := k + 1;
write(b[k]);
until k = j;
readln;
end.

Автор: Анна 27.11.2005 22:41

Вот, что в описании у меня получилось:

1, 2, 3, 4, 5 - следование;
6, 7 - цикл с предусловием;
7, 8, 19 - цикл с предусловием;
8, 9, 17 - ветвление;
9, 10, 17 - ветвление;
10, 11, 17 - ветвление;
11, 12, 17 - ветвление;
12, 13, 17 - ветвление;
13, 14, 17 - ветвление;
14, 15, 17 - ветвление;
15, 16, 7 - следование;
17, 18, 7 - следование;
19, 20 - следование;
21, 22 - цикл с постусловием;


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: Анна 28.11.2005 20:48

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