Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Delphi Перемножение чисел через массивы https://www.cyberforum.ru/ delphi-beginners/ thread870561.html
Помогите пожалуйста написать программу для следующего задания: Перемножить два вещественных числа, имеющих не более 50 цифр в десятичной записи с помощью массивов. Я использовал три одномерных массива, элементы массива соответствовуют разрядам множителей и произведения. Нахождение знака и положения точки я реализовал, но не смог написать тело вложенного цикла самого перемножения двух...
Бинарное Дерево Delphi
Розробити програму, яка створює бінарне дерево , елементами якого є цілі числа і знаходить довжину (кількість віток) шляху від кореня до найближчої вершини з елементом .
Delphi Treeview корректное сохранение и открытие https://www.cyberforum.ru/ delphi-beginners/ thread870555.html
Добрый вечер великим умам!! Помогите еще раз бедному тупому ( Есть дерево два едита и две кнопки (Сохр и Откр). При вводе в едит имени файла происходит открытие/сохр, вот код //СОХРАНЕНИЕ procedure TFormSave.BitBtn2Click(Sender: TObject); var F: TFileStream; buttonSelected : Integer; begin
Delphi Номер столбца минимального элемента среди максимальных Народ, прошу тех, кто шарит в делфе. В программке нужно определить номер столбца минимального элемента среди максимальных. Максимальные в матрице нашел, записал их в отдельный одномерный массив и выделил среди них минимальный, а как определить номер столбца минимального в матрице - не могу реализовать. сама задачка звучит так: "Дана матрица С. В каждом столбце выбрать наибольший элемент,... https://www.cyberforum.ru/ delphi-beginners/ thread870538.html
База данных студентов. Вывести студентов, имеющих хотя бы одну оценку Delphi
помогите, плиз... написать в делфи... создать файл содержащий следующие поля. 1 фамилию и имя. 2 номер группы. 3 успеваемость(массив из 5 элементов.) написать программу выполняющую следующие действия: 1 ввод с клавиатуры данных, состоящие из десяти структур студент. 2 ввод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2. 3.если таких студентов нет, вывести...
Delphi Ищу альтернативу sTDataEdit https://www.cyberforum.ru/ delphi-beginners/ thread870517.html
Доброго времени суток. Смотрю обучающие ролики в Делфи и в одном из видео для указания даты рождения в форме регистрации добавили визуальную форму sTDataEdit, которая находилась в группе Alpha Additional. У меня Embarcadero RAD Studio 2010 с Делфи 2010 и такой группы у меня нету. Что можно использовать как альтернативу этому элементу? Подойдет ли DateTimePicker? Или может подскажете где найти и...
Delphi MDI, как заставить дочерние окно при минимизации сразу исчезать - без анимирования https://www.cyberforum.ru/ delphi-beginners/ thread870505.html
Есть MDI-приложение стоит задача при сворачивании дочерних окон, чтобы они исчезали сразу без анимирования (особенно это ярко выражено в WinXP). Может какое-то свойство включить в TForm-дочернего окна?
При открытии формы сразу загружалась процедура в image. Как сделать ? Delphi
Вот у меня при нажатии на кнопку открывается новая форма, как сделать чтобы в новой форме автоматом запустилась процедура рандомного изображения в image. Вот процедура: begin i:=0; folder:=ExtractFileDir(Application.ExeName)+'\avto\'; if findfirst(folder+'*.jpg',faAnyFile,f)=0 then begin repeat i:=i+1; SetLength(a, i);
Delphi Графический редактор Ребята, пишу графический редактор и надо реализовать инструмент, выделяющий, пространство на изображении с последующей возможностью перемещения и поворота. https://www.cyberforum.ru/ delphi-beginners/ thread870474.html Delphi Разбегается содержимое формы https://www.cyberforum.ru/ delphi-beginners/ thread870455.html
Графические объекты находящиеся на форме (кнопки, окна редактирования итд) не имеют постоянных координат. То есть когда запускаю программу на другом компьютере, с другим экраном, они оказываются сдвинуты. Как зафиксировать их координаты?
Delphi Программирование с использованием массивов
Дан массив, содержащий от 1 до k символов, за которым следует точка. Вывести этот текст в обратном порядке. Помогите...
Delphi Процедура с параметрами Всем доброго время суток. Как создать такую процедуру, что бы когда я при вызови этой процедуры не отправлял какие либо из параметров, тогда значение этих параметров принимали бы значение по умолчанию. Добавлено через 7 минут Уже разобрался. Извиняюсь за создание темы. procedure report(r, sql :string; opis :string = ''; date1 :string = ''; date2 :string = ''); https://www.cyberforum.ru/ delphi-beginners/ thread870424.html
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
20.05.2013, 01:37 0

Список: программа Вставляет элементы списка L2 в L1 так, чтобы L1 остался упорядоченным - Delphi - Ответ 4583197

20.05.2013, 01:37. Показов 1635. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено RainbowUnicorn как решение

Решение

Решение в виде консольного приложения:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils, Windows;
 
type
  {Тип основных данных.}
  TData = Integer;
  {Тип указателя на элемент списка.}
  TPElem = ^TElem;
  {Тип элемента списка.}
  TElem = record
    Data : TData; {Основные данные.}
    PNext : TPElem; {Указатель на следующий элемент списка.}
  end;
  {Тип, описывающий однонаправленный список.}
  TDList = record
    PFirst, PLast : TPElem; {Указатели на первый и на последний элементы списка.}
  end;
 
{Начальная инициализация списка. Внимание! Эту процедуру можно выполнять
только в отношении пустого списка! Иначе, будут утечки памяти.}
procedure Init(var aList : TDList);
begin
  aList.PFirst := nil;
  aList.PLast := nil;
end;
 
{Добавление элемента в конец однонаправленного списка.}
procedure Add(var aList : TDList; const aData : TData);
var
  PElem : TPElem;
begin
  New(PElem);
  PElem^.Data := aData;
  PElem^.PNext := nil;
  if aList.PFirst = nil then
    aList.PFirst := PElem
  else
    aList.PLast^.PNext := PElem;
  aList.PLast := PElem;
end;
 
{Особождение памяти, занятой под список.}
procedure Free(var aList : TDList);
var
  PNext, PDel : TPElem;
begin
  PNext := aList.PFirst;
  while PNext <> nil do begin
    PDel := PNext;
    PNext := PNext^.PNext;
    Dispose(PDel);
  end;
  Init(aList);
end;
 
{Распечатка однонаправленного списка.}
procedure LWriteln(const aList : TDList);
var
  PElem : TPElem;
begin
  if aList.PFirst = nil then begin
    Writeln('Список пуст.');
    Exit;
  end;
 
  PElem := aList.PFirst;
  while PElem <> nil do begin
    if PElem <> aList.PFirst then Write(', ');
    Write(PElem^.Data);
    PElem := PElem^.PNext;
  end;
  Writeln;
end;
 
const
  M = 7;
var
  L1, L2 : TDList;
  PElem1, PNext1, PElem2, PPrev2 : TPElem;
  i : Integer;
  S : String;
begin
  {Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  Если после переключения русские буквы показываются неверно,
  следует открыть системное меню консольного окна - щелчком мыши в левом
  верхнем углу окна консоли и выбрать:
  Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".}
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  {Начальная инициализация списков.}
  Init(L1);
  Init(L2);
 
  repeat
    {Создание списка. Если понадобится сделать ручной ввод элементов, следует использовать этот код.
    Предварительно в VAR надо будет добавить переменные: Data : TData; Code : Integer;}
    {
    Writeln('Создание списка.');
    Writeln('Прекратить ввод - пустая строка + Enter.');
    i := 0;
    repeat
      Write('Элемент ', i + 1, ': ');
      Readln(S);
      if S <> '' then begin
        Val(S, Data, Code);
        if Code = 0 then begin
          Inc(i);
          Add(L1, Data);
        end else
          Writeln('Неверный ввод. Повторите.');
      end;
    until S = '';
    Writeln('Составлен список:');
    LWriteln(L1);
    }
 
    {Создание неупорядоченного списка.}
    for i := 1 to M do Add(L1, Random(M + 5));
    Writeln('Составлен неупорядоченный список:');
    LWriteln(L1);
    {Создание списка, упорядоченного по неубыванию.}
    for i := 1 to M do Add(L2, i);
    Writeln('Составлен упорядоченный по неубыванию список:');
    LWriteln(L2);
 
    {Решение задачи.
    Последовательно берём элементы из неупорядоченного списка (L1), ищем место
    вставки в упорядоченном списке и выполняем вставку.}
    PElem1 := L1.PFirst;
    while PElem1 <> nil do begin
      PNext1 := PElem1^.PNext;
 
      {Ищем в упорядоченном списке указатель на элемент PPrev2, после которого
      следует вставить очередной элемент из неупорядоченного списка.}
      PPrev2 := nil;
      PElem2 := L2.PFirst;
      while (PElem2 <> nil) and (PElem2^.Data < PElem1^.Data) do begin
        PPrev2 := PElem2;
        PElem2 := PElem2^.PNext;
      end;
 
      {Вставляем элемент в упорядоченный список.}
      PElem1^.PNext := PElem2;
      if PPrev2 = nil then
        L2.PFirst := PElem1
      else
        PPrev2^.PNext := PElem1;
      if PPrev2 = L2.PLast then
        L2.PLast := PElem1;
 
      {Переходим к следующему элементу в неупорядоченном списке.}
      PElem1 := PNext1;
    end;
 
    Init(L1);
 
    {Ответ.}
    Writeln('Упорядоченный список после слияния:');
    LWriteln(L2);
 
    {Освобождение памяти, занятую под списки.}
    Free(L1);
    Free(L2);
    Writeln('Память, занятая под списки, освобождена.');
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
Здесь ещё добавлен код для ручного ввода списка. Он сейчас закомментован:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    {Создание списка. Если понадобится сделать ручной ввод элементов, следует использовать этот код.
    Предварительно в VAR надо будет добавить переменные: Data : TData; Code : Integer;}
    {
    Writeln('Создание списка.');
    Writeln('Прекратить ввод - пустая строка + Enter.');
    i := 0;
    repeat
      Write('Элемент ', i + 1, ': ');
      Readln(S);
      if S <> '' then begin
        Val(S, Data, Code);
        if Code = 0 then begin
          Inc(i);
          Add(L1, Data);
        end else
          Writeln('Неверный ввод. Повторите.');
      end;
    until S = '';
    Writeln('Составлен список:');
    LWriteln(L1);
    }


Вернуться к обсуждению:
Список: программа Вставляет элементы списка L2 в L1 так, чтобы L1 остался упорядоченным Delphi
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2013, 01:37
Готовые ответы и решения:

Объединить массивы так, чтобы результирующий остался упорядоченным по убыванию
Даны три целочисленных массива A, B и C размера Na, Nb, Nc соответственно, элементы которых...

Объединить массивы так, чтобы результирующий массив C остался упорядоченным по возрастанию
С помощью массива. Даны два массива A и B размера 5, элементы которых упорядочены по...

Объединить массивы так, чтобы результирующий массив C остался упорядоченным по возрастанию
1.Даны два массива A и B, элементы которых упорядочены по возрастанию. Объединить эти массивы так,...

Объединить массивы так, чтобы результирующий массив остался упорядоченным по убыванию
Даны три целочисленных массива A, B и C размера NA, NB, NC соответственно, элементы которых...

2
20.05.2013, 01:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2013, 01:37
Помогаю со студенческими работами здесь

Объединить массивы так, чтобы результирующий массив остался упорядоченным по возрастанию
Даны два массива A и B, элементы которых упорядочены по возрастанию. Объединить эти массивы так,...

Обьединить два упорядоченных arraylist'a так, чтобы результирующий остался упорядоченным
Даны два массива A и B, состоящие из n элементов каждый, элементы которых упорядочены по убыванию....

Объединить массивы так, чтобы результирующий массив С (размеры 10) остался упорядоченным по возрастанию
Даны два массива А и В размера 5, элементы которых упорядочены по возрастанию. Объединить эти...

Объединить два массивы так, чтобы результирующий массив остался упорядоченным по возрастанию
Пожалуйста, помогите решить задачу, желательно с объяснениями! Даны два массива A и B размера 5,...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru