Вести одномерный массив. Преобразовать его в двухмерный следующим образом: первая строка положительные элементы, а вторая — отрицательные. Количество положительных и отрицательных должно быть поровну. Посчитать сумму тех и других элементов. Записать массив в файл — Pascal(Паскаль)

Исходный массив A:

   -3    4   45   -2    5  -87
Сформированный массив B:  

    4   45    5
   -3   -2  -87
Uses crt;
 
Type
  F1=text;
  mas=array[1..7] of real;
  mas1=array[1..2,1..3] of real;
 
 Var
  f:F1;
  A:Mas;
  B:mas1;
  I,j:integer;
 
 Procedure vvod_a (var a:mas);
 Begin
 Rewrite (f);
 Writeln (f,'Исходный массив A:');
 writeln (f);
  For I:=1 to 6 do
   Begin
    Writeln ('Введите A[',i,']');
    Readln (a[i]);
    Write (f,A[i]:5:0);
   End;
 Close (f);
 End;
 
Procedure Vych (var a:mas; Var b:mas1);
var
    j,j1:integer;
Begin
    Append (f);
    Writeln (f);
    Writeln (f,'Сформированный массив B:  ');
    Writeln (f);
    j:=0;
    j1:=0;
    For i:=1 to 6 do
        If a[i]>0 then
            begin
                j:=j+1;
                b[1,j]:=A[i];
            end
        else
            begin
                j1:=j1+1;
                b[2,j1]:=A[i];
            end;
        
    For i:=1 to 2 do
        Begin
            For j:=1 to 3 do
                Write (f,B[i,j]:5:0);
            Writeln (f);
        End;
    close (f);
 End;
 
 
 Begin
  Assign (F,'mas.txt');
  Clrscr;
  Vvod_a (a);
  Vych(A,B);
  Readln;
 End.

Leave a Comment

28 − 20 =