Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal]можно ли это назвать алгоритмом, странная сортировка 
:(
    Опции темы
Sliva
Дата 11.3.2008, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



 smile
Добрый день! Помогите решить такую задачку, пожалуйста. Не знаю можно ли это назвать алгоритмом, но... вобщем я запуталась  smile  smile Для вас, наверное, это будут семечки.

Есть динамический массив типа стринг, содержащий повторяющиеся данные, причем разновидностей этих данныхне так много - в одном случае-3(для одного файла), в другом - 5 (для другого). Я их считываю из файла и перевожу в массивы. Вобщем данные в окончательном виде представлены так:
f1: 
 ['12', '01', '01', '01','01', '12', ....., '00', '12'...]
f2:
[12', '01', '01', '55', '01','01', '55', '12', .....,'55', '00', '12', '89', '89'...]

А мне надо теперь сделать так, чтобы эти массивы выглядели как 2 массива, в одном - в единичном варианте данные, а во втором - количество встреч их в массиве:
Т.е. для f1:
 ['00', '01', '12']
 [1, 20, 15]

Для f2: 
['00', '01', '12', '55', '89'] 
 [2, 15, 32, 8, 20]

Помогите, пожалуйста или подкиньте идею. Что-то я туплю.

PM   Вверх
Akina
Дата 11.3.2008, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



Называется это сортировка подсчетом. Впрочем, сортировка не нужна, нужен только подсчет. 

Не вижу проблемы. Тривиальнейшая задача. Считывай, сравнивай, плюсуй.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Sliva
Дата 11.3.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.5.2006

Репутация: нет
Всего: нет



Код

 SetLength(masFilCount, kol);
 SetLength(masFil, kol);

 //masFil[i]:=tempFilial[0];
// masFilCount[i]:=c;

 for l:=1 to kol-1 do
//   for k:=1 to kol-1 do
   begin
   cur:=tempFilial[l-1];
   if tempFilial[l]=cur then
      begin
          masFilcount[l-1]:=c+1;
      end
      else begin
          //i:=i+1;
          masFil[l]:=tempFilial[l];
          masFil[l-1]:=cur;
          masFilcount[l]:=1;
          masFilcount[l-1]:=1;
      end;
 //    if tempFilial[k]<>helpMas[l] then

   end;

Но не получается :( 


Это сообщение отредактировал(а) Rodman - 11.3.2008, 17:39
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0651 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.