Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   HELP массив-матрица (http://www.tehnari.ru/f43/t250863/)

kat.l.a 19.12.2016 10:28

HELP массив-матрица
 
Задан вектор из N элементов. Поменять первый элемент, имеющий отриц значение с первым нулевым элементом местами.

Vladimir_S 19.12.2016 11:29

Цитата:

Сообщение от kat.l.a (Сообщение 2445665)
Задан вектор из N элементов. Поменять первый элемент, имеющий отриц значение с первым нулевым элементом местами.

Код:

Const
 N=15;

Var
 X:Array[1..N] of Integer;
 a,b:Integer;
 i,Ia,Ib:byte;
 c:boolean;

Begin
 Randomize;
 Writeln('Initial array:');
 for i:=1 to N do
  begin
  X[i]:=-5+Random(10);
  Write(X[i]:4);
  end;
 Writeln;
 Writeln;
 c:=true;
 i:=0;
 Repeat
  i:=i+1;
 Until (X[i]<0) or (i=N);
 if X[i]<0 then
  begin
  a:=X[i];
  Ia:=i;
  end
 else
  begin
  c:=false;
  Writeln('No negative elements!');
  end;
 if c then
  begin
  i:=0;
  Repeat
    i:=i+1;
  Until (X[i]=0) or (i=N);
  if X[i]=0 then
    begin
    b:=X[i];
    Ib:=i;
    end
  else
    begin
    c:=false;
    Writeln('No zero elements!');
    end;
  end;
 if c then
  begin
  X[Ia]:=b;
  X[Ib]:=a;
  Writeln('New array:');
  for i:=1 to N do Write(X[i]:4);
  end;
 Readln
End.



Часовой пояс GMT +4, время: 07:06.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.