|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Как разобрать массив чисел по парам?
Всем привет!
Помогите разобраться... Имеется массив чисел : M: Array[0..999] of word; Пример: 567, 324, 12, 478, 455, 11 Как разобрать его по-парам?, чтобы вышло: 567, 324 12, 478 455, 11 ... И далее работать с этими числами ... Но и это ещё не всё! Массив может содержать нечётное количество элементов. В этом случае, нужно также разобрать его по-парам, а остаток обрабатывать отдельно. Есть идеи? Админ: Предупреждение за излишние выделения текста жирным Последний раз редактировалось Admin, 04.12.2021 в 17:50. |
#2
|
|||
|
|||
Ну вот так, например (не оптимально с точки зрения управления памятью, но более понятно):
Код:
type TArrayPair = record First : WORD; Second : WORD; end; var A : Array Of WORD; B : Array Of TArrayPair; C : WORD; I : Integer; begin I := 0; SetLength(B,0); C := 0; // 0 is not in initial array, just assumption While (I < Length(A) div 2) Do Begin SetLength(B,Length(B)+1); B[High(B)].First := A[i]; B(High(B)].Second := A[I+1]; I := I + 2; End; If (Length(A) mod 2) = 1 Then C := A[High(A)]; end; |