|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | 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; |