Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
60 / 22 / 9
Регистрация: 24.10.2009
Сообщений: 200
1

Поменять местами элементы стека

17.01.2012, 11:52. Показов 2260. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
реализовать 2 стека, заполнить их значенияммию Разместить на форме компонент Spinedit и button. При нажатии на кнопку элементы из стеков под номеером, указанным в счетчике должны мемняться местами. Помогите, вообще непомню как это делать

Добавлено через 33 минуты
знает кто?

Добавлено через 19 минут
идеи есть?

Добавлено через 31 минуту
оч срочно нужно!!!
хотя бы как сделать банально 2 таблицы, заполнять из из едита. После при нажатии на кнопку менять местами заданные строчке в таблице
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.01.2012, 11:52
Ответы с готовыми решениями:

Поменять местами элементы массива
Поменять местами второй и четвертый элемент,если они положительны,или первый и третий,если они...

Поменять местами элементы массива
Дан одномерный массив A (10) элементов,поменять в нем местами 1ий элемент (а1) и минимальный))

Поменять местами элементы матрицы
нужно поменять элементы главной и побочнофй диагонали, помогите доделать unit Unit1; ...

Необходимо поменять местами элементы в массиве
Дан квадратный массив из n строк, где n— нечетное число, все элементы различны. Наименьший элемент...

10
 Аватар для Mawrat
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
17.01.2012, 11:56 2
Так таблицы или стеки нужны? Таблицы какие? - TStringGrid?
0
60 / 22 / 9
Регистрация: 24.10.2009
Сообщений: 200
17.01.2012, 12:03  [ТС] 3
да, хоть так. Но нужен стек, но его похоже никто не знает.
0
 Аватар для Mawrat
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
17.01.2012, 12:06 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот как в двух таблицах поменять местами строки:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.Button1Click(Sender: TObject);
var
  Sg1, Sg2 : TStringGrid;
  Sl : TStringList;
  Num : Integer;
begin
  Sg1 := StringGrid1;
  Sg2 := StringGrid2;
  Num := StrToInt(Edit1.Text);
 
  Sl := TStringList.Create;
 
  //Запоминаем строку в первой таблице.
  Sl.Assign(Sg1.Rows[Num]);
  //Записываем строку из второй таблицы - в первую таблицу.
  Sg1.Rows[Num].Assign(Sg2.Rows[Num]);
  //Записываем во вторую таблицу запомненную строку из первой таблицы.
  Sg2.Rows[Num].Assign(Sl);
 
  //Удаляем список из памяти.
  FreeAndNil(Sl);
end;
Здесь Num - индекс строки - отсчитывается, начиная с нуля.
Метод Assign() копирует содержимое одного объекта в другой объект. Например:
Delphi
1
Sl.Assign(Sg1.Rows[Num]);
Здесь метод Assign копирует всё содержимое строки с индексом Num таблицы Sg1 в список Sl.
---
Со стеком тоже можно - но там делать много.
0
60 / 22 / 9
Регистрация: 24.10.2009
Сообщений: 200
17.01.2012, 12:07  [ТС] 5
у меня осталось где-то 10 минут, так что осталось верить в чудо)
0
 Аватар для Mawrat
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
17.01.2012, 12:12 6
Прикладываю проект.
Вложения
Тип файла: rar ReplaceRow.rar (185.6 Кб, 7 просмотров)
1
60 / 22 / 9
Регистрация: 24.10.2009
Сообщений: 200
17.01.2012, 12:17  [ТС] 7
напиши код, тут нет архиватора
0
 Аватар для Mawrat
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
17.01.2012, 12:21 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Тогда в виде самораспаковывающегося архиа. Скачаешь архив - это EXE файл, запусти его - он разархивируется сам.
А, нет - EXE не прикладывается. В общем, код я уже написал - выше по теме - он рабочий.
На форму положи одну кнопку, один TEdit и две таблицы TStringGrid. Для кнопки создай обработчик события OnClick и оформи код так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.Button1Click(Sender: TObject);
var
  Sg1, Sg2 : TStringGrid;
  Sl : TStringList;
  Num : Integer;
begin
  Sg1 := StringGrid1;
  Sg2 := StringGrid2;
  Num := StrToInt(Edit1.Text);
 
  Sl := TStringList.Create;
 
  //Запоминаем строку в первой таблице.
  Sl.Assign(Sg1.Rows[Num]);
  //Записываем строку из второй таблицы - в первую таблицу.
  Sg1.Rows[Num].Assign(Sg2.Rows[Num]);
  //Записываем во вторую таблицу запомненную строку из первой таблицы.
  Sg2.Rows[Num].Assign(Sl);
 
  //Удаляем список из памяти.
  FreeAndNil(Sl);
end;
0
60 / 22 / 9
Регистрация: 24.10.2009
Сообщений: 200
17.01.2012, 12:25  [ТС] 9
да все уже, непоможет. Нужны все таки стеки...
0
 Аватар для Mawrat
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
17.01.2012, 12:28 10
Полностью задача со стеками на экзамене, если всё писать как положено - это уже через чур, как говорится. Я такое решение напишу - с реализацией и на дин. списках и на статических массивах. Но вот студенту такое успеть - это из вас там единицы только смогут такое сделать...
0
60 / 22 / 9
Регистрация: 24.10.2009
Сообщений: 200
17.01.2012, 15:21  [ТС] 11
не обязательно ввсе как положено, хоть бы показывало это визуально

Добавлено через 2 часа 44 минуты
тема все еще актуальна))) хочу уже для себя узнать как это решать)
0
17.01.2012, 15:21
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2012, 15:21
Помогаю со студенческими работами здесь

В массиве поменять местами элементы i-й и k-й строк
Помогите пожалуйста! В массиве E(m,n) поменять местами элементы i-й и k-й строк: ...

В двухмерном массиве поменять местами элементы
В двухмерном массиве поменять местами элементы, лежащие выше и ниже главной диагонали

Поменять местами наибольший и наименьший элементы
Даны действительные числа а1,...,а20 (все числа попарно различны). Поменять в этой...

Поменять максимальный и минимальный элементы местами
Нужна лабораторная работа! 1. Дан массив чисел, состоящий из n элементов (значение размерности...

Поменять местами в двумерном массиве элементы
Поменять местами элементы первой строки матрицы действительных чисел размером 4х4 с элементами ее...

Поменять местами максимальный и минимальный элементы массива
В одномерном массиве B(30,заполненном случайными целыми числами в диапазоне от-25 до 25,поменять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Как обучить нейросеть создания картинок на Python
bytestream 24.01.2025
В эпоху цифровых технологий искусственный интеллект становится неотъемлемой частью творческого процесса. Особое место в этой области занимает разработка и обучение нейронных сетей для создания. . .
Как обучить нейросеть генерации текста на Python
bytestream 24.01.2025
В современном мире искусственный интеллект и машинное обучение становятся неотъемлемой частью многих технологических решений. Одной из наиболее интересных и востребованных задач в этой области. . .
Машинное обучение на Python
bytestream 24.01.2025
Введение в машинное обучение на Python Машинное обучение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, которая позволяет компьютерным системам. . .
Как удалить вирус-майнер с компьютера
hw_wired 24.01.2025
Вирусы-майнеры стали одной из наиболее серьезных угроз для пользователей компьютеров. Эти вредоносные программы тайно используют вычислительные ресурсы зараженного устройства для добычи криптовалюты. . .
Что такое веб-сервер, для чего он нужен и как работает
bytestream 24.01.2025
В современную эпоху цифровых технологий веб-сервер является фундаментальным компонентом интернет-инфраструктуры, обеспечивающим функционирование множества онлайн-сервисов и веб-сайтов. Этот. . .
Как в цикле for перебрать все элементы в словаре в Python
bytestream 24.01.2025
Словари в Python представляют собой мощные структуры данных, которые позволяют хранить информацию в формате ключ-значение. Эта особенность делает их незаменимыми при работе с данными, где требуется. . .
Как отменить rebase в Git
hw_wired 24.01.2025
Git rebase представляет собой мощный инструмент для управления историей коммитов в системе контроля версий Git. Этот механизм позволяет разработчикам изменять последовательность, комбинировать или. . .
Как поменять цвет input placeholder с помощью CSS
bytestream 24.01.2025
В веб-разработке оформление элементов пользовательского интерфейса играет ключевую роль в создании привлекательного и интуитивно понятного дизайна. Особое внимание уделяется формам ввода данных, где. . .
Как перебрать все значения в перечислении (enum) в C#
bytestream 24.01.2025
Перечисление (enum) в языке программирования C# представляет собой специальный тип данных, который позволяет определить набор именованных констант. Этот мощный инструмент особенно полезен, когда. . .
Как обойтись без проверки на null, чтобы избежать NullPointerExce­ption в Java
bytestream 24.01.2025
NullPointerException (NPE) является одним из самых распространенных исключений в Java, создающих серьезные проблемы при разработке программного обеспечения. Данное исключение возникает при попытке. . .
Что лучше использовать в href ссылок в JavaScript: "#" или "javascript:voi­­d(0)­"
bytestream 24.01.2025
При разработке веб-приложений важную роль играет правильное использование HTML-ссылок в сочетании с JavaScript. Одним из ключевых аспектов является выбор корректного значения атрибута href для. . .
Как узнать индекс элемента списка по его значению в Python
hw_wired 24.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только манипулировать элементами списка, но и определять их точное местоположение. Индекс элемента представляет собой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru