Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите с массивами.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Viking2016
Пожалуйста помогите, кто чем может, решить две задачи.

1.Дан двумерный массив целых чисел. Найти сумму трёх минимальных элементов.

2.В целочисленном одномерном массиве расположить четные элементы в порядке возрастания, а нечетные - убывания.
klem4
2-я задача:

uses crt;

const
  n = 10;

type
  TArray = array [1..n] of Integer;

procedure Print(const arr: TArray);
var
  i: Integer;
begin
  writeln;
  for i := 1 to n do begin
    if odd(arr[i]) then TextColor(GREEN) else TextColor(RED);
    write(arr[i]:3);
  end;
end;

procedure Sort(var arr: TArray);
var
  i, j, k, T: Integer;
  _ODD: Boolean;
begin
  for _ODD := false to true do begin
    i := n;

    repeat
      while (i >= 2) and (odd(arr[i]) <> _ODD) do
        dec(i);

      if i >= 2 then begin
        j := 1;

        while (j <= i - 1) and (odd(arr[j]) <> _ODD) do
          inc(j);

        if j <= i - 1 then repeat
          k := j;
          inc(j);

          while (j <= i) and (odd(arr[j]) <> _ODD) do
           inc(j);

          if (j <= i) and ((arr[j] > arr[k]) and _ODD) or
           ((arr[j] < arr[k]) and not _ODD) then begin

            T := arr[k]; arr[k] := arr[j]; arr[j] := T;
          end;

        until j > i - 1;

        dec(i);
      end;
    until i < 2;
  end;
end;

var
  X: TArray = (4, 1, 3, 1, 6, 8, 1, 5, 7, 2);

begin
  Print(X); Sort(X); Print(X);
end.
volvo
Задание трактуется неоднозначно... Один из вариантов решения:
Одномерный массив Need Help
(нужно только поменять положительные/отрицательные на четные/нечетные - изменения будут минимальными)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.