Сортировка массива, паскаль
Есть массив такого вида:
12-2
411
12314124
65-4
12.3
Нужно отсортировать его на две группы, в одной все переменные формата число число - число.
Во второй все остальное. Делаю в Лазарусе (паскаль)
Можете поделиться кодом для данной задачи, или хотя бы алгоритм написать)
Совсем нуб в этом деле
Массив строковый. Ищите в элементах тирэ и сортируйте
а какому типу присваивать массив?
http://wiki.freepascal.org/TStringList-TStrings_Tutorial/ru
http://www.freepascal.org/docs-html/rtl/system/val.html
http://www.freepascal.org/docs-html/rtl/system/pos.html
предположим у Вас массив строк A[1...10]
uses
Classes, SysUtils;
var
i,code:integer;
a1,a2:TStringList;
....
begin
a1 := TStringList.Create;
a2 := TStringList.Create;
for i=1 to 10 do
begin
code:=Pos('-', A[i]);
{Вместо Pos можно и Val, если преобразовывать в число и проверять }
{ Val(A[i], i, code); }
if code=0 then
a1.Add(A[i]);
else
a2.Add(A[i]);
end;
....
end.
Соотв. будут разнесены по спискам строк a1 и a2. Правда я не знаю выгодно ли Вам хранить "числа" как строки или нет. Возможно стоит подумать о списке из целых (?) чисел.
P.S: 12.3 - число или строка? =)
спасибо)