HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 15.06.2008, 14:28
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Код:
for i:=2 to n do
begin
t:=a[i]; a[0]:=a[i]; j:=i;
while t<a[j-1] do 
begin
a[j]:=a[j-1]; Dec(j);
end;
a[j]:=t;
end;
writeln;
 
Ответить с цитированием

  #2  
Старый 15.06.2008, 17:27
hoty
Познающий
Регистрация: 20.05.2008
Сообщений: 81
Провел на форуме:
224517

Репутация: 32
По умолчанию

с этой строчкой не работает
Цитата:
while ( ((j>0) and (t<a[j]) ) do
- ошибку выдает.

А вот так работает: :-)
Цитата:
while ( ((j>0) xor (t<a[j]) ) do
только вот массив сортируется в убывающем порядке, попробую код подправить, чтобы в возрастающем было.

Последний раз редактировалось hoty; 15.06.2008 в 17:30..
 
Ответить с цитированием

  #3  
Старый 15.06.2008, 23:51
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

ну так одну скобку пропустили

Код:
while ( ((j>0) and (t<a[j]) )) do
 
Ответить с цитированием

  #4  
Старый 16.06.2008, 05:26
hoty
Познающий
Регистрация: 20.05.2008
Сообщений: 81
Провел на форуме:
224517

Репутация: 32
По умолчанию

to : 0verbreaK

Thank you). Странно, если бы была скобка лишняя Паскаль должен ведь был выдать ошибку, а он запускался и только после этого выдавал ошибку.

С xor сортирует массив в убывающем порядке.
С and в возрастающем.

to ALL:

Кто в курсе, расскажите, "простым языком", что такое "ключ сортировки" ?

Последний раз редактировалось hoty; 16.06.2008 в 11:39..
 
Ответить с цитированием

  #5  
Старый 16.06.2008, 12:08
_empty
Познающий
Регистрация: 22.03.2008
Сообщений: 63
Провел на форуме:
247838

Репутация: 65
По умолчанию

Цитата:
Сообщение от hoty  
to : 0verbreaK

Thank you). Странно, если бы была скобка лишняя Паскаль должен ведь был выдать ошибку, а он запускался и только после этого выдавал ошибку.

С xor сортирует массив в убывающем порядке.
С and в возрастающем.

to ALL:

Кто в курсе, расскажите, "простым языком", что такое "ключ сортировки" ?
Это обычно функция, которая задает порядок сортировки, т.е. по убыванию, возрастанию, или по знаку и т.д. и т.п.
 
Ответить с цитированием

  #6  
Старый 17.06.2008, 18:28
Benzin
Познающий
Регистрация: 15.01.2007
Сообщений: 41
Провел на форуме:
267196

Репутация: 6
По умолчанию

Люди добры помогите плиз решить 2 задачи по asm, я в нем мало что понимаю, спасите плиз.
Если можно, то код как можно проще, не нужны всякие хитрые приемы, чтоб хоть смог разобраться, ПОЖАЛУЙСТА

1) Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами

2) Даны целые числа A1,....., An. Если в данной последовательности ни одно четное число не расположено после нечетного, то получить все отрицательные члены последовательности, иначе - все положительные. Порядок следования чисел в обоих случаях заменяется на обратный.
 
Ответить с цитированием

  #7  
Старый 18.06.2008, 23:48
avton0m
Познающий
Регистрация: 15.12.2007
Сообщений: 37
Провел на форуме:
62499

Репутация: 15
По умолчанию

Помогите плз с решением (ака решите за меня
Код:
Задан массив M натуральных чисел, начинающийся с единицы.
Как найти минимальное натуральное число, не представимое суммой никаких элементов массива M.
C/C++
 
Ответить с цитированием

  #8  
Старый 20.06.2008, 09:54
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

сортируешь элементы в порядке возрастания
затем берешь функцию
Код:
int check(int curindex,int maxindex,int sum,int rezult)
{
   int i,cursum;
   for(i=curindex;i<maxindex;i++)
   {
      cursum=A[i]+sum;
       if(cursum==rezult)
          return 1;
       else
          if(cursum>rezult)
             return 0;
          else
              if(check(i+1,maxindex,cursum,rezult)==1)
                return 1;
     }
   return 0;
}

// использование функции
for(j=0;j<M;j++)
  if(check(0,j,0,A[j])==0)
    { printf("Minimal is:%d",A[j]); break; }
не проверял бил прямо тут!
 
Ответить с цитированием

  #9  
Старый 20.06.2008, 10:18
avton0m
Познающий
Регистрация: 15.12.2007
Сообщений: 37
Провел на форуме:
62499

Репутация: 15
По умолчанию

Это ж просто перебор?
 
Ответить с цитированием

  #10  
Старый 20.06.2008, 22:11
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

а ты думаешь есть формула которая сразу даст тебе число ? 8))))))))))))))))))))))))))

или хитрые шаг вперед два шага назад , которые тебя сразу выведут на решение?

тебе же написали по русски "на ОТСОРТИРОВАННОМ массиве"! Или ты думаешь что и в шахматы комп играет по хитрым формулам без перебора! Эхххх .... горе математики , алгоритмистикта и есть дискретная математика которая целые книги посвящает умным переборам (на графах ,на цепях.... но множествах отображений и перестановок)!!! Автоном это последняя задача которую я тебе помог сделать.... подрости чуток(свою единицу в репе забери обратно, раз не в коня корм)!

Последний раз редактировалось Delimiter; 20.06.2008 в 22:18..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.