Форум: "Начинающим";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];
ВнизНе полное сравнение данных Найти похожие ветки
← →
{RASkov} © (2007-06-10 20:10) [0]
TTypeData = (1,2,3);
TData = record
D1, D2: Integer;
end;
TArrData: array of array of TData;
var ArrD: TArrData;
function VerifyData: Boolean;
var C, R: Integer; F: Boolean;
begin
Result:=False; F:=True;
for C := 0 to High(ArrD) do begin
for R := 0 to High(ArrD[C]) do begin
if (ArrD[C, R].D1<>2) and (ArrD[C, R].D2<>2) then Continue;
Result:=ArrD[C, R].D1=ArrD[C, R].D2;
F:=Result;
end;
if not F then Break;
end;
end;
Нужно сравнить внутри типа его данные, но не идеентично полностью, а только 2-ки
Например:12321
32111
22333
11111
и
32123
32131
22111
33333
Считать одинаковыми т.е. вернуть функцией True
А вот так ситать, что они разные12321
32111
22333
11111
и
11321 !
32111
22333
11111
и, соответственно вернуть False.
Вроде все правильно написал, но функция возвращает не верный результат. Чет никак не соображу где косяк....
Будте добры, подскажите алгоритм данной функции. Спасибо.
← →
{RASkov} © (2007-06-10 20:13) [1]Вообщето так :)
TTypeData = (1,2,3);
TData = record
D1, D2: TTypeData;
end;
но это не важно )
← →
Правильный Вася (2007-06-10 20:16) [2]
F:=Result;
заменить наF:=F and Result;
← →
{RASkov} © (2007-06-10 20:29) [3]> [2] Правильный Вася (10.06.07 20:16)
Да нет вроде.... тоже самое получается (
← →
{RASkov} © (2007-06-10 20:38) [4]Одни данные (D1) такие, например:
11111
12221
12221
11111
Сравниваемые (D2) такие:
Вот так возвращает False
21111
12221
12221
11111
А так (все ниже) True
(Это и должно вернуть True)
11111
12221
12221
11111
(А следующие должны False, но возвращают True) :(
11112 <
12221
12221
11111
и
11111
11111
12222
11111
← →
begin...end © (2007-06-10 21:17) [5]Исходный код тщательно не просматривал, но я бы сделал примерно так:
function VerifyData: Boolean;
var
C, R: Integer;
begin
Result := False;
for C := 0 to High(ArrD) do
for R := 0 to High(ArrD[C]) do
with ArrD[C, R] do
if ((D1 = 2) or (D2 = 2)) and (D1 <> D2) then
Exit;
Result := True
end
Впрочем, не исключено, что я неправильно понял вопрос...
← →
{RASkov} © (2007-06-10 22:35) [6]> [5] begin...end © (10.06.07 21:17)
Спасибо. Вроде все верно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c