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

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

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2013, 19:54   #911
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

А если массивы статические?
А вообще, хорошее решение.
Вадим Мошев вне форума Ответить с цитированием
Старый 21.12.2013, 19:58   #912
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Дык это же сортировка слиянием..
Код:
k1 := 1; k2 := 1;
for i :=  1 to Length(a)+Length(b) do
    if a[k1] < b[k2] then 
       Write(a[k1++], ' ') // некий симбоиз Паскаля и Си
   else Write(b[k2++], ' ')
И учесть конец..
(например поставить барьерный элемент = +inf)

UPDATE
Цитата:
Диагональ квадрата 1 х 1 см.
Совершенно верно.. Можно еще в прямоугольном треугольнике со сторонами 1,1

Последний раз редактировалось Poma][a; 21.12.2013 в 20:06.
Poma][a вне форума Ответить с цитированием
Старый 21.12.2013, 19:59   #913
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
А если массивы статические?
Ну, может быть, писать NaN вместо выбранного. И добавлять проверку при каждом выборе min: не NaN ли элемент?
type_Oleg вне форума Ответить с цитированием
Старый 21.12.2013, 20:37   #914
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
const a: array [0..2] of Integer  = (1,3,5);
      b: array [0..1] of Integer  = (2,4);
var ia,ib: Integer;
begin
  ia:=0; ib:=0;
  while (ia<=High(a)) or (ib<=High(b)) do
    if ia>High(a)        then begin Memo1.Lines.Add(IntToStr(b[ib])); Inc(ib); end
    else if ib>High(b)   then begin Memo1.Lines.Add(IntToStr(a[ia])); Inc(ia); end
    else if a[ia]<=b[ib] then begin Memo1.Lines.Add(IntToStr(a[ia])); Inc(ia); end
                         else begin Memo1.Lines.Add(IntToStr(b[ib])); Inc(ib); end;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.12.2013, 15:54   #915
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию Узрите же, несчастные, грядёт он

Эта канэц, Свэта.jpg
То, что это не конец света, это понятно. Но не станет ли это концом Цштвщцы?

Кстати, всем привет.

---------------------------------------------------------------------------------------------------------
ПО ТЕМЕ СОРТИРОВКИ
Код:
var
  a, b, A1, A2: TIntArray;
  i1, i2: Integer;
begin
// ---------------------------------------------------------------
  a := NewIntArray (Count=3, 1, 3, 6   ); // :)
  b := NewIntArray (Count=4, 2, 3, 4, 5); // :)
// ---------------------------------------------------------------
  if a[High(a)] > b[High(b)] then begin A1 := a; A2 := b; end
                             else begin A1 := b; A2 := a; end;
// ---------------------------------------------------------------
  i1 := Low(A1); i2 := Low(A2);
  while i1 <= High(A1) do
    if (i2 > High(A2)) or (A1[i1] < A2[i2])
      then begin    Memo1.Lines.Add (IntToStr(A1[i1]));    Inc(i1);    end
      else begin    Memo1.Lines.Add (IntToStr(A2[i2]));    Inc(i2);    end;
end;
Pascal'я под рукой нет (да не совсем это и паскаль), так что мог накосячить, но думаю мысль ясна (антикузмапрутковское решение - зрим в конец).

Последний раз редактировалось Sibedir; 26.12.2013 в 16:43.
Sibedir вне форума Ответить с цитированием
Старый 28.12.2013, 20:15   #916
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Pascal'я под рукой нет
ideone

Задачка : Опишите функцию sign, которая вернет 1, если число > 0, -1 при аргументе меньшем 0, и 0 при нуле.. (желательно или Паскале- или Си- подобный синтаксис..)
Poma][a вне форума Ответить с цитированием
Старый 28.12.2013, 20:31   #917
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,874
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Задачка : Опишите функцию sign, которая вернет 1, если число > 0, -1 при аргументе меньшем 0, и 0 при нуле.. (желательно или Паскале- или Си- подобный синтаксис..)
В чем загвоздка? Сделать без условных операций или как?
Arigato на форуме Ответить с цитированием
Старый 28.12.2013, 20:33   #918
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

return (a > 0) ? 1 : ((a < 0) ? -1 : 0);
В чем прикол?)

UPD
Для целых
return a / (abs(a) + 1 / (abs(a) + 1));
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 28.12.2013 в 20:37.
BDA вне форума Ответить с цитированием
Старый 28.12.2013, 20:33   #919
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
В чем загвоздка? Сделать без условных операций или как?
Именно.. (черт.. забыл сказать.. простите..)
Цитата:
В чем прикол?)
Без условных..
Poma][a вне форума Ответить с цитированием
Старый 28.12.2013, 21:15   #920
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ord(i>0)-Ord(i<0)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интересные проги kipish Софт 85 18.12.2022 01:03
Текст на картинках SunLight Microsoft Office Word 2 08.08.2007 12:59