Показать сообщение отдельно
Старый 11.08.2016, 09:21   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Натуся Посмотреть сообщение
1. В данной последовательности целых чисел переставить члены так, чтобы отрицательные нечетные числа шли в порядке возрастания в конце массива.
Пожалуйста:
Код:
Const
 N=20;

Var
 A,B,C:Array[1..N] of Integer;
 P,Q,i,j:Byte;
 D:Integer;

Begin
 Randomize;
 P:=0;
 Q:=0;
 Writeln('Initial array:');
 for i:=1 to N do
  begin
   A[i]:=-50+Random(100);
   Write(A[i]:4);
   if (A[i]<0) and ((Abs(A[i]) mod 2)=1) then
    begin
     Inc(Q);
     C[Q]:=A[i];
    end
   else
    begin
     Inc(P);
     B[P]:=A[i];
    end;
  end;
 Writeln;
 Writeln;

 for i:=1 to Q-1 do
  for j:=1 to Q-i do
   if C[j]>C[j+1] then
    begin
     D:=C[j];
     C[j]:=C[j+1];
     C[j+1]:=D;
    end;

 for i:=1 to P do
  A[i]:=B[i];
 for i:=1 to Q do
  A[i+P]:=C[i];

 Writeln('New array:');
 for i:=1 to N do Write(A[i]:4);

 Readln;
End.
С оставшимися двумя глупейшими школьными задачками будьте любезны справиться самостоятельно.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070