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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2011, 12:55   #1
Екатерина Воробей
Пользователь
 
Регистрация: 29.09.2011
Сообщений: 44
По умолчанию объяснение задачи

объясните пожалуйста как работает эта задача. Условие задачи: "Пусть вводится последовательность символов, длина которой не превышает 80. Напечатайте те русские буквы (в алфавитном порядке), которые встречаются в заданной последовательности"

Program kati_mn;
Uses Crt;
Var i:integer;
a:array[1..80] of char;
j:integer;
s:string;
g:integer;
b:char;
Begin
Clrscr;
Writeln('vvedi posledovtelnost simvolov');
Readln(s);
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.
Екатерина Воробей вне форума Ответить с цитированием
Старый 10.10.2011, 13:12   #2
Екатерина Воробей
Пользователь
 
Регистрация: 29.09.2011
Сообщений: 44
По умолчанию

помогите пожалуйста
Екатерина Воробей вне форума Ответить с цитированием
Старый 10.10.2011, 13:16   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
If (s[i]>'Ђ') and (s[i]<'с')
оО это что за символы такие. имхо тут должно быть что-то вроде if s[i] in ['а'..'я', 'А'..'Я', 'ё', 'Ё']. Или если без множеств, то
Код:
if ((s[i]>'а') and (s[i]<'Я')) or ((s[i]>'А') and (s[i]<'Я)) or (s[i]='ё') or (s[i]='Ё')
Программа, кстати, выдает неправильный результат, скорее всего именно поэтому.
Цитата:
как работает
сначала проходит всю строку и ищет буквы русского алфавита (см.выше), заносит их в массив символов. Потом этот массив сортируется (гугл сортировка пузырьком или http://programmersforum.ru/showpost....61&postcount=6) по алфавиту.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 10.10.2011 в 13:24.
Alex11223 вне форума Ответить с цитированием
Старый 10.10.2011, 13:34   #4
Екатерина Воробей
Пользователь
 
Регистрация: 29.09.2011
Сообщений: 44
По умолчанию

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]);
А что это означает?
Екатерина Воробей вне форума Ответить с цитированием
Старый 10.10.2011, 14:13   #5
Екатерина Воробей
Пользователь
 
Регистрация: 29.09.2011
Сообщений: 44
По умолчанию

ответьте пожалуйста, а то я ничего понять не могу...(((
Екатерина Воробей вне форума Ответить с цитированием
Старый 10.10.2011, 14:30   #6
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Екатерина Воробей Посмотреть сообщение
А что это означает?
Катюш, это упорядочение массива по возрастанию.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 10.10.2011, 14:39   #7
Екатерина Воробей
Пользователь
 
Регистрация: 29.09.2011
Сообщений: 44
По умолчанию

хорошо на ты...) объясни тогда пожалуйста, как имеенно происходит это упорядочивание на примере...
Екатерина Воробей вне форума Ответить с цитированием
Старый 10.10.2011, 14:42   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Выше же пример
Цитата:
гугл сортировка пузырьком или http://programmersforum.ru/showpost....61&postcount=6
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.10.2011, 14:46   #9
Екатерина Воробей
Пользователь
 
Регистрация: 29.09.2011
Сообщений: 44
По умолчанию

так у меня же пример с символами, т.е. с русскими буквами? разве тоже самое будет?
Екатерина Воробей вне форума Ответить с цитированием
Старый 10.10.2011, 14:52   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да, в char хранятся номера символов из таблицы ASCII т.е. каждому символу соответствует какое-то число (от 0 до 255), причем буквы там в алфавитном порядке (от а до я и от А до Я (между а..я и А..Я есть какие-то другие символы) ).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 10.10.2011 в 14:55.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объяснение программы 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
Объяснение к задаче коммивояжер. enik pi Помощь студентам 2 14.06.2007 00:54