IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Ограничения и тестовые примеры, а также описание алгоритма (всё тот рак)
Анна
сообщение 27.11.2005 18:13
Сообщение #1


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
Анна
сообщение 27.11.2005 18:41
Сообщение #2


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


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

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 16:48


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Анна
сообщение 28.11.2005 16:48
Сообщение #3


Бывалая
***

Группа: Пользователи
Сообщений: 290
Пол: Женский
Реальное имя: Анютка

Репутация: -  7  +


Поправка. Помогите разобраться с вложенными конструкциями и вообще правильно ли у меня сделано.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 26.07.2025 22:33
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"