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

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

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

> Задача на обработку текста, Cформировать текст, в котором...
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 98
Пол: Мужской

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


Помогите пожалуйста написать програмку.
А то шас в голову ничего не лезит.

Дан текст (массив строк) сформировать текст в котором все одинаковые символы стоят рядом.

для одной строки я придумал короткий способ
Код

for i:=2 to l-1 do
     for j:=i+1 to l do
        if s[i-1]=s[j] then
           begin
             tmp:=s[i];
             s[i]:=s[j];
             s[j]:=tmp;
           end;


А для текста только большой тупой вариант в голове крутится.
Его даже писать не хочется.

:p2:

И еще может покритикуете ввод текста
Код

function readtx(var str:tx):byte;
 var i:byte;
     len: word;
     key:char;
 begin
   len:=0;i:=0;

    writeln('Please enter some text');
    writeln(' > pressing Esc will clear line');
    writeln(' > pressing Esc at the begining');
    writeln('   of new line will end the entering.');
    repeat

       i:=i+1;
       readln(str[i]);
      key:=readkey;
   until key=#27;
   readtx:=i;
 end;


--------------------
collect the infotrons and find Exit
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






murphy
Хочешь еще один алгоритм?

Код

var
 cnt: array[char] of integer;
 s: string;
 i: integer;
 ch: char;
begin
 s := 'sdj;alskjdf;laskjdf;laksjd;lkjf;lsdk;gjlskd;jgskgf';
 for i := 1 to length(s) do
   inc(cnt[s[i]]);
 for ch := #32 to #255 do
   for i := 1 to cnt[ch] do write(ch);
end.

Я думаю, переделать его для массива строк не составит труда :D
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 27.04.2024 1:39
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name