Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.10.2011, 18:13   #1
Екатерина Воробей
Пользователь
 
Регистрация: 29.09.2011
Сообщений: 44
По умолчанию объяснение задачи

Объясните пожалуйста, как работает эта задача.

Код:
Program kati_mn;
Uses Crt;
Var i:integer;
    a:array[1..80] of char;
    j:integer;
    s:array[1..80] of char;
    g:integer;
    b:char;
Begin
     Clrscr;
     Writeln('vvedi posledovtelnost simvolov');
     i:=1;
     While b<>'.' do
     Begin
          Readln(b);
          s[i]:=b;
          i:=i+1;
     End;
     j:=0;
     For i:=1 to Length(s) do
         If (s[i]>'Ђ') and (s[i]<'с') Then
         Begin
              j:=j+1;
              a[j]:=s[i];
         End;


     If j<>0 Then
     Begin
     For i:=1 to j do
         For g:=i+1 to j do
             If a[i]>a[g] Then
             Begin
                  b:=a[i];
                  a[i]:=a[g];
                  a[g]:=b;
             End;
     For i:=1 to j do Write(' ',a[i]);
     End;
     Readkey;
End.
________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 12.10.2011 в 22:21.
Екатерина Воробей вне форума
Старый 12.10.2011, 18:58   #2
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

вводится строка, которая заканчивается точкой, потом создается какая-то последовательность символов (строка) из введенной строки (тут не совсем понятное условие, видимо при копирование текста символы поменялись в условии), которая упорядочивается по возрастанию.
Есть вопросы, пишите в ЛС.
rubius2008 вне форума
Старый 12.10.2011, 19:58   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Программа написана несколько неточно, вот исправленный вариант.
Код:
Program kati_mn;
Uses Crt;
const rb=['А'..'п','р'..'ё'];{Множество русских букв в Турбо Паскале, таблица ASCII}
Var n,m,i,j,g:integer;
    a:array[1..80] of char;{Массив символов}
    s:array[1..80] of char;
    b:char;
Begin
Clrscr;
Writeln('vvedi posledovtelnost simvolov');
n:=0;{размер исходного масива}
repeat
  b:=readkey;{читаем символ}
  write(b);{выводим}
  n:=n+1;{считаем}
  s[n]:=b;{пишем в исходный массив}
  if (b='.') or (n=80) then writeln;{если точка или 80 символов, на новую строку}
until (b='.') or (n=80);{заканчиваем ввод}
m:=0;{размер массива русских букв}
For i:=1 to n do
If s[i] in rb Then{если русская буква}
 Begin
  m:=m+1;{считаем}
  a[m]:=s[i];{пишем в новый массив}
 End;
if m=0 then write('Русских букв нет')
else
 begin
  For i:=1 to m-1 do{сортируем по возрастанию кодов символов}
  For g:=i+1 to m do
  If a[i]>a[g] Then
   Begin
    b:=a[i];
    a[i]:=a[g];
    a[g]:=b;
   End;
  For i:=1 to m do Write(' ',a[i]);{выводим отсортированный массив русских букв}
 End;
Readkey;
End.
puporev вне форума
Старый 12.10.2011, 20:21   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

http://programmersforum.ru/showthread.php?t=168245 а в чем отличие от этой темы?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Старый 12.10.2011, 22:27   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тема отличается от предыдущей только тем, что вместо строки используется s:array[1..80] of char
ну и readln(s) заменён на цикл чтения и заполнения массива...

Считаю эту тему КРОССПОСТОМ!

ЗАКРЫТО!
Serge_Bliznykov вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объяснение задачи Екатерина Воробей Паскаль, Turbo Pascal, PascalABC.NET 13 10.10.2011 17:02
Объяснение программы man-utd- Помощь студентам 4 23.11.2010 21:46
Объяснение программы ForzaJuve Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 13.11.2010 09:27
Объяснение проги на ассемблере DrHome Помощь студентам 0 17.04.2010 18:35
Нужно объяснение задачки((( Настенька..Блонди Помощь студентам 3 26.02.2009 23:13