переделывали в инсте стэк, но я забыл его скачать, сам никак не могу вспомнить, пожалста переделайте ентот пас, чтоб стэк работал для символов, для задачи оч надо на завтра
Сообщение отредактировано: kr3v3tkus -
![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
kr3v3tkus |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
переделывали в инсте стэк, но я забыл его скачать, сам никак не могу вспомнить, пожалста переделайте ентот пас, чтоб стэк работал для символов, для задачи оч надо на завтра
Сообщение отредактировано: kr3v3tkus - Прикрепленные файлы ![]() -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Если то, что ты выложил, работало с Integer, то вот это будет работать с Char:
Прикрепленные файлы ![]() |
kr3v3tkus |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
volvo пасиба большое
![]() ![]() зы ну я и дефект ;) тут procedure Push(Value:T); procedure Pop(var Value: T); забыл изменить на чар блин ;)))) и думаю - чёж не работает ;))) Сообщение отредактировано: kr3v3tkus - -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
kr3v3tkus |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
если можно, то ещё вопросик, просто ваще первый раз за дельфя сел
![]() как правильно написать: нужно подсчитать все строки мемо1 до строчки с символом ";" чёто я нагородил тут ![]() Код while flag = true do if Memo1.Lines.Text(i) <> ";" then inc(f) else flag:=false; -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата до строчки с символом ";" имеется в виду, что строка содержит ТОЛЬКО ";" или все, что угодно, включая этот символ?По первому варианту: i := 0; по второму: i := 0; |
kr3v3tkus |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
По первому
![]() Правда всё равно ничё не могу никак сделать с этим стэком ((( Ужасть как фигово иметь препода из другого города, который считает что нас на родине чемуто учат ![]() если ещё совсем не надоел ![]() ![]() a c b d c a d b ; На форме 2 мемо и кнопка я ваще какуюто черноту накатал( ето для второй половины) Код i:=0; while (i<memo1.Lines.Count)and(Memo1.Lines[i]<>';') do inc(i); q:=(i div 2); if (i mod 2)<>0 then inc(q); while (q<>0) do begin l.Pop(q); p.Push(q); Memo2.Lines.Add(IntToStr(q)); dec(q); end; Вот когда мы уже запустили программу и вводим вручную символы, как засунуть их в стэк? мож там на евент Onchange ставить пуш? ![]() ![]() Сообщение отредактировано: kr3v3tkus - -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
мисс_граффити |
![]()
Сообщение
#7
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
можно и так.
но тогда у человека не будет возможности исправить, если что-то не то ввел (или надо проверять - если нажат бэкспейс или делит - удалять элемент). я бы предложила дать возможность ввести все, а потом нажать на кнопку типа "готово". -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
kr3v3tkus |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
ващето да, ток я ваще тут понапутал всё и поп и пуш ваще через левую какуюто переменную(я по примеру с цифрами смотрел и напутал видать с типами). Эээх пойду спать, завтра бить будут ;))) надо готовиться ;)))
-------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
мисс_граффити |
![]()
Сообщение
#9
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
интересный подход...
откуда ж мы можем знать, где и что ты напутал при использовании готовых методов?.. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
kr3v3tkus |
![]()
Сообщение
#10
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
А не могли бы Вы на примере показать - программа запущена, в неё введены символы(например 4) и ";", как занести в стек эти 4 символа с помошью вот этого
Код procedure TStack.Push (Value:Char); var P:PNode; begin new(P); P.Next:=FNode; FNode:=P; P.Info:=Value; end; если можно, то с варом, а то я просто ужасть как путаюсь с переменными, тем более с использованием этих готовых методов -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
мисс_граффити |
![]()
Сообщение
#11
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
не совсем поняла, что ты от меня хочешь....
думаю, примерно этого: первая переменная, которая нам понадобится - это сам стэк. var Stack : TStack; Под нее нужно выделить место, то есть сделать Stack:=TStack.Create; примерно такое я бы запихнула в обработчик события нажатие на кнопку "все готово": var ch: char; //символ, с которым будем работать Если точки с запятой не будет - получится фигня. Если есть вероятность такого события - добавь проверку, не превышает ли i количество строк в Memo1. После того, как ты сделал все, что хотел, обязательно очисти память при помощи destroy. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Гость |
![]()
Сообщение
#12
|
Гость ![]() |
тенк ю
![]() ![]() |
kr3v3tkus |
![]()
Сообщение
#13
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
фуф
![]() мисс_граффити ууу пасиба ![]() ![]() Код q:=0; i:=1; ch:=Memo1.Lines[0][1]; while ch<>';' do begin l.Push(ch); ch:=Memo1.Lines[i][1]; inc(q); inc(i); end; q:=(i div 2); {howmessage(inttostr(q));} for i := q+1 to 2*q do begin l.Pop(ch); t.Push(ch); end; for i := q+1 to 2*q do begin t.Pop(ch); p.Push(ch); Memo2.Lines.Add(ch); end; while (not l.Empty) do begin l.Pop(ch); t.Push(ch); end; while (not t.Empty) do begin t.Pop(ch); p.Push(ch); Memo2.Lines.Add(ch); end; ток пришлося 3 стэка делать, чтоб перевернуть усё это гадство как надо ;))) ща буду ещё очередь отмучивать ![]() Сообщение отредактировано: kr3v3tkus - -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
мисс_граффити |
![]()
Сообщение
#14
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Кошмар какой-то.
3 стэка?! Зачем? надо 2 указателя поменять местами, а не все элементы переставлять!!!! Это ж динамическая структура. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
kr3v3tkus |
![]()
Сообщение
#15
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
эмм 2 указателя?
![]() ![]() -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
мисс_граффити |
![]()
Сообщение
#16
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
извращенцы.
ну ради чего это? ладно, дело твое..... но я бы просто переставила указатель Head (начало стэка) на первый элемент второй половины; указатель из поля Next последнего элемента (оно было нуль-указателем) на бывший первый элемент; поле Next последнего элемента первой половины - изменить на нуль-указатель. только ввести доп. указатель, чтобы ничего не потерять. это ведь намного проще, затраты по памяти и времени несравнимы. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
kr3v3tkus |
![]()
Сообщение
#17
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
что извращенцы - так это точна
![]() ну просто хоть и второй курс - а специальность у нас наполовину экономическая, поэтому наверна не хотят грузить. На самом деле из 20 с чем то человек хоть что-то понимают человек 10 от силы ;) а насчёт перестановки указателей - крута ![]() ![]() -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
мисс_граффити |
![]()
Сообщение
#18
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
оно же и алгоритмически проще
![]() хочешь, нарисую картинку, чтобы было яснее? думаю, если ты ему покажешь, что сам это дело понимаешь - никаких проблем со сдачей не возникнет. +всегда можно принести два варианта и с наивным взглядом сказать: "мне кажется, это решение красивее...." ОФФ. У нас специальность абсолютно не экономическая, чистое ПО - из 23 человек первую лабораторку (ну что-то вроде вот этой твоей - у кого стек, у кого очередь, у кого дек), заданную на первой лекции (начало сентября) сделало 5 человек. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
kr3v3tkus |
![]()
Сообщение
#19
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
не, саму теорию я понял, единственное про дополнительный указатель не совсем
![]() ...а вот как на практике сделать ![]() ![]() ЗЫ сила ![]() ![]() -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
мисс_граффити |
![]()
Сообщение
#20
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
в самом модуле, разумеется.
вместо твоего "перелопачивания" Head - указатель на начало стека, pt и pt1 - указатели, под которые выделено место, но в него пока ничего не засунуто. pt:=Head; примерно так. не проверяла, но вроде проблем не должно быть..... если интересно - экспериментируй ![]() -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 14.02.2025 17:53 |