Показать сообщение отдельно
Старый 11.05.2016, 00:03   #16 (permalink)
Евгений
Member
 
Аватар для Евгений
 
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
По умолчанию

Inc(x) это x:=x+1;
В 3 получается вещественное.

Код:
uses  Crt;
const n=3; m=13;
type  Tmass=array[1..(n*m)] of integer;
      Tmatr=array[1..n,1..m] of integer;
var   W:Tmatr;
      T:Tmass;
      i,j,k,pr,c:integer;
begin
      ClrScr;
       Writeln('Massiv:');
        Writeln;
         Randomize;
       k:=0;
        for i:=1 to n do
         for j:=1 to m do
          begin
            W[i,j]:=Random(18)-7;
            Inc(k);
            T[k]:=W[i,j];
            Write(T[k]:4);
          end;
         Writeln;
          Writeln;
       pr:=1; j:=0;
       for i:=1 to (k div 3) do
        if i mod 2<>0 then
         begin
           Inc(j);
           pr:=pr*Abs(T[i]);
         end;
       Writeln('Srednee geometriceskoe = ',(exp(ln(pr)/j)):3:2);
        Write('Cislo ot 0 do 10 = ');
         Readln(c);
          pr:=100; j:=0;
       for i:=(k div 3) to k do
        if T[i]<0
         then
          if Abs(T[i])=c
           then
            begin
              j:=i;
              Break
            end
           else
            begin
              if Abs(T[i])>c
               then
                if (Abs(T[i])-c)<pr
                 then
                  begin
                    pr:=(Abs(T[i])-c);
                    j:=i;
                  end;
              if Abs(T[i])<c
               then
                if (c-Abs(T[i]))<pr
                 then
                  begin
                    pr:=(c-Abs(T[i]));
                    j:=i;
                  end;
            end;
       Writeln('Blizhayshee = ',T[j]);
      i:=k-1;
       repeat
         if T[i]>0
          then
           begin
             pr:=T[i];
             for j:=i to k-1 do
              T[j]:=T[j+1];
             T[k]:=pr;
             Dec(i);
           end
         else
          Dec(i);
       until i=1;
      for i:=k-1 downto 1 do
       if T[i]>-1
        then
         begin
           pr:=T[i];
           for j:=i to k-1 do
            t[j]:=T[j+1];
           T[k]:=pr;
         end;
      i:=1;
      While T[i]<0 do Inc(i);
       for c:=i to k-1 do
        for j:=i to k-1 do
         if T[j]<T[j+1]
          then
           begin
             pr:=T[j];
             T[j]:=T[j+1];
             T[j+1]:=pr;
           end;
      Writeln;
       Writeln('Sortirovanniy:');
        Writeln;
      for i:=1 to k do
       Write(T[i]:4);
        Writeln;
     ReadKey;
end.
Евгений вне форума   Ответить с цитированием
Ads

Яндекс

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