Программа


CONST MaxQuant=40; { Максимальное количество элементов массива }
TYPE Power=0..MaxQuant; { Размерность массивов }
     Element=real; { Тип элементов массивов }
     VectorType=record { Тип - вектор }
                  N:Power; { Реальное количество элементов массива }
                  V:array[Power] of Element { Массив элементов }
                end;

PROCEDURE ReadVector(Head:string; var A:VectorType); { Процедура ввода вектора }
  Var i:Power;               { Счетчик цикла }
  Begin
    WriteLn(Head);                                  { Вывод приглашения }
    Write('Введите количество элементов массива '); { Вывод приглашения }
    ReadLn(A.N);                { Ввод количества элементов массива }
    for i:=1 to A.N do          { Цикл ввода элементов массива }
    begin
      Write('Введите элемент [',i,'] '); { Вывод приглашения }
      ReadLn(A.V[i])                     { Ввод элемента массива }
    end;
  End;
PROCEDURE WriteVector(Head:string; var A:VectorType); { Процедура вывода вектора }
  Var i:Power;       { Счетчик цикла }
  Begin
    WriteLn(Head);                       { Вывод заголовка }
    for i:=1 to A.N do                   { Цикл вывода элементов массива }
      Write(A.V[i]:5:2,'   ');             { Вывод элемента }
    WriteLn;                             { Ввод конца строки }
  End;
PROCEDURE MakeVector(X:VectorType; var Y:VectorType); { Процедура создания векторов }
  Var i:Power;       { Счетчик элементов массива }
  Begin
    Y.N:=0; { Начальное определение размерности результирующего массива }
    for i:=1 to X.N do { Цикл копирования элементов последовательности }
      if X.V[i]<>0  { Проверка значения элемента исходной последовательности }
      then begin
             Y.N:=Y.N+1;  { Набор длины вектора }
             Y.V[Y.N]:=X.V[i] { Копирвание элемента }
           end;
  End;
VAR X,Y:VectorType; { Исходная и создаваемые последовательности }
BEGIN
  WriteLn;                               { Пропуск строки }
  ReadVector('ВВОД ВЕКТОРА "X"',X);      { Ввод вектора }
  WriteLn;                               { Пропуск строки }
  WriteVector('ИСХОДНЫЙ ВЕКТОР "X"',X);  { Вывод вектора }
  WriteLn;                               { Пропуск строки }
  MakeVector(X,Y);                       { Создание вектора Y }
  WriteVector('ВЕКТОР "Y"',Y);           { Вывод вектора }
  WriteLn;                               { Пропуск строки }
  WriteLn('Количество оставшихся элементов - ',X.N-Y.N) { Вычисление и вывод количества оставшихся элементов }
END.

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию