Практикум по решению задач на ЭВМ. Тарова И.Н - 55 стр.

UptoLike

Практикум по решению задач на ЭВМ
4) Даны натуральное число n, действительные числа a
1
,…,a
n
. Преобразо-
вать данную последовательность расположив сначала отрицательные, а
потом положительные элементы. Притом:
a) порядок, как для отрицательных, так и для положительных эле-
ментов сохраняется.
b) порядок отрицательных чисел остается прежним, а для не отри-
цательных изменяется на обратный.
{преобразование последовательности по условию}
uses CRT;
const
SIZE=100;{max размер массива}
var
a:array[1..SIZE] of real;
b:array[1..SIZE] of real;
i:integer;{индекс}
n:integer;{колличество
элементов последовательности}
k:integer; {счетчик упорядоченных по знаку элементов}
begin
clrscr;
k:=0; {начальная установка счетчика}
writeln('Ввод массива вещественных чисел');
write('После ввода каждого числа ');
writeln('нажимайте <Enter>');
readln(n); {ввод n}
for i:=1 to n do {ввод массива}
begin
write('a[',i,']->');
readln(a[i]);
end;
for i:=1 to n do
if a[i]<0 then
begin
k:=k+1;
b[k]:=a[i];
end;
for i:=1 to n do
if a[i]>=0 then
begin
k:=k+1;
b[k]:=a[i];
end;
for i:=1 to n do
55
                   Практикум по решению задач на ЭВМ


4) Даны натуральное число n, действительные числа a1,…,an. Преобразо-
вать данную последовательность расположив сначала отрицательные, а
потом положительные элементы. Притом:
   a) порядок, как для отрицательных, так и для положительных эле-
ментов сохраняется.
   b) порядок отрицательных чисел остается прежним, а для не отри-
цательных изменяется на обратный.

  {преобразование последовательности по условию}
  uses CRT;
  const
    SIZE=100;{max размер массива}
  var
    a:array[1..SIZE] of real;
    b:array[1..SIZE] of real;
    i:integer;{индекс}
    n:integer;{колличество элементов последовательности}
    k:integer; {счетчик упорядоченных по знаку элементов}
  begin
    clrscr;
    k:=0; {начальная установка счетчика}
    writeln('Ввод массива вещественных чисел');
    write('После ввода каждого числа ');
    writeln('нажимайте ');
    readln(n); {ввод n}
    for i:=1 to n do {ввод массива}
       begin
          write('a[',i,']->');
          readln(a[i]);
       end;
    for i:=1 to n do
       if a[i]<0 then
          begin
             k:=k+1;
             b[k]:=a[i];
          end;
    for i:=1 to n do
    if a[i]>=0 then
       begin
          k:=k+1;
          b[k]:=a[i];
       end;
    for i:=1 to n do


                                  55