Составьте программу выясняющую образуют ли элементы одномерного массива арифметическую прогрессию — Pascal(Паскаль)

Program Vvod;

Var
  N, I, k: Integer;
  A: Array [1 .. 20] Of Integer;
  pr: boolean;

Begin
  Write('vvedite kolishestvo elementov massiva ');
  ReadLn(N);
  FOR I := 1 TO N DO
  Begin
    Write('vvedite A[', I, '] ');
    ReadLn(A[I]);
  end;
  pr := true;
  while pr do
  begin
    pr := false;
    for I := 1 to N - 1 do
      if A[I] > A[I + 1] then
      begin
        A[I] := A[I] + A[I + 1];
        A[I + 1] := A[I] - A[I + 1];
        A[I] := A[I] - A[I + 1];
        pr := true;
      end;
  end;
  for I := 1 to N do
    write(A[I], ',');
  writeln;
  k := A[2] - A[1];
  pr := true;
  for I := 1 to N - 1 do
    if (A[I + 1] - A[I]) <> k then
    begin
      pr := false;
      break;
    end;
  if pr then
    writeln('TRUE')
  else
    writeln('FALSE');
  ReadLn;

End.

Вариант 2

uses crt;

var
  n, i, f: integer;
  a: array [1 .. 20] of integer;

begin
  clrscr;
  write('vvedite kolishestvo elementov massiva ');
  readLn(n);
  for i := 1 to n do
  begin
    write('vvedite a[', i, ']=');
    readLn(a[i]);
  end;
  f := 0;
  for i := 2 to n - 1 do
    if (a[i] - a[i - 1]) <> (a[i + 1] - a[i]) then
      f := 1;
  if f = 0 then
    writeln('obrazuyut')
  else
    writeln('ne obrazuyut');
  readLn;

end.

Leave a Comment

− 2 = 7