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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2012, 15:24   #11
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Да, s-andriano, точно, вот только зачем хранить элементы в стеке? Достаточно хранить один элемент как обычную переменную.
_-Re@l-_ вне форума Ответить с цитированием
Старый 26.05.2012, 15:45   #12
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

_-Re@l-_, одной переменной никак не хватит.
Или объясните свою идею
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 27.05.2012, 19:58   #13
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

BDA, да, я вот только что вдумался наконец в задачу, и понял, что при способе s-andriano с одной переменной, наверно, не получится.
Всё же, думается, чтобы не мудрить, проще сделать просто решение за квадрат по времени :
Код:
for i:=1 to n do
begin
  flag:=false;
  for j:=i + 1 to n do
   if arr[j] > arr[i] then
   begin
      arr[i]:=arr[j]; flag:=true; break;
   end;
  if not flag then arr[i]:=0; 
end;
Ну вы поняли.

Вот только
Цитата:
В масcиве А размера N за один просмотр необходимо
У меня не за один. Хотя, опять же, смотря что понимать под "одним просмотром".

Ну да, наверно всё же s-andriano предложил хороший способ.
_-Re@l-_ вне форума Ответить с цитированием
Старый 27.05.2012, 20:04   #14
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Всё же, думается, чтобы не мудрить, проще сделать просто решение за квадрат по времени :
Именно это противоречит условию задачи.
Цитата:
У меня не за один. Хотя, опять же, смотря что понимать под "одним просмотром".
Один просмотр - он и есть один просмотр: каждый элемент "трогаем" ровно 1 раз и не больше. Соответственно, сложность линейная, а не квадратичная.
s-andriano вне форума Ответить с цитированием
Старый 10.06.2012, 18:27   #15
Маленыч
Пользователь
 
Аватар для Маленыч
 
Регистрация: 04.04.2012
Сообщений: 23
По умолчанию

Цитата:
Создаем стек.
Не понятно на этом этапе. Вероятно я не знаю, что такое стек при использовании динамических переменных. Юзать гугль тоже не помогло, дабы в нагугленных сайтах никто не может доходчиво разжевать новичку, что такое стек в динамической памяти, одни профессоры)
Маленыч вне форума Ответить с цитированием
Старый 10.06.2012, 21:47   #16
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

http://informatics.mccme.ru/moodle/m...iew.php?id=543
По-моему, неплохо написано.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 11.06.2012, 18:15   #17
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Маленыч Посмотреть сообщение
Не понятно на этом этапе. Вероятно я не знаю, что такое стек...
Пользуйтесь массивом.
По сути, стек - это обычный массив с некоторыми ограничениями:
- массив можно заполнять только последовательно от начала к концу
- мы следим за последней занятой позицией
- доступ к середине или началу массива невозможен - только к концу
- из всех возможных операций допустимы только:
1. просмотр последнего элемента
2. удаление последнего элемента - заполненная длина массива сокращается на 1
3. добавление в конец массива нового элемента - заполненная длина массива увеличивается на 1

PS. На практике операция №1 часто не делается, т.к. реализуется посредством последовательного применения операций 2 и 3.
s-andriano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм решения задачи Amet13 Помощь студентам 1 21.04.2012 13:16
Составить алгоритм (блок-схема) и написать программу для решения задачи(Pascal) sadim Помощь студентам 2 18.12.2011 14:53
Разработать алгоритм и составить программу для решения задачи. Длину последовательности задать димон4ик_ Помощь студентам 0 18.10.2011 10:55
Разработать алгоритм и составить программу для решения задачи. Длину последовательности задать димон4ик_ Помощь студентам 2 18.10.2011 09:39
составить алгоритм решения, реализующий перевод из 10 системы счисления в троичную Машута Паскаль, Turbo Pascal, PascalABC.NET 2 09.12.2008 18:20