Обобщённая проверка массивов на равенство — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Ulysses (обсуждение | вклад) (Новая страница: «/// <summary> /// Проверяет массивы a, b на равенство и возвращает /// истину, если они равны /// </summar…») |
Ulysses (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | /// <summary> | + | <source lang="pascal">/// <summary> |
/// Проверяет массивы a, b на равенство и возвращает | /// Проверяет массивы a, b на равенство и возвращает | ||
/// истину, если они равны | /// истину, если они равны | ||
Строка 22: | Строка 22: | ||
end; | end; | ||
end; | end; | ||
+ | </source> | ||
[[Категория:Основы программирования]] | [[Категория:Основы программирования]] |
Текущая версия на 23:12, 12 февраля 2016
/// <summary>
/// Проверяет массивы a, b на равенство и возвращает
/// истину, если они равны
/// </summary>
/// <param name="a">Первый массив</param>
/// <param name="b">Второй массив</param>
/// <returns>Истину, если содержимое массивов равно</returns>
function ArrsAreEqual<T>(a, b: array of T): boolean;
begin
Assert(a <> nil, 'ArrsAreEqual: a <> nil');
Assert(b <> nil, 'ArrsAreEqual: b <> nil');
// сравниваем длины
Result := a.Length = b.Length;
if Result then
begin
// здесь result is true
var i := 0;
while (i < a.Length) and (a[i] = b[i]) do
i += 1;
if i < a.Length then
Result := false;
end;
end;