Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2013, 19:18   #1
Assassin-
Новичок
Джуниор
 
Регистрация: 13.02.2013
Сообщений: 1
По умолчанию надо найти ошибки ... массив

Разработать программу получения и обработки одномерного массива, состоящую из 4 частей.
Часть 1. Вычислить значения 32 элементов одномерного целочисленного массива T в интервале (-8,8) с использованием генератора случайных чисел.
Часть 2. Вычислить среднеарифметическое значение нечетных по номеру элементов последней трети массива.
Часть 3. Определить два наибольших элемента, среди отрицательных элементов первой четверти массива.
Часть 4. Упорядочить чётные по номеру элементы всего массива по возрастанию модулей обратных.

надо найти ошибки

Код:
Program Work_4; 
  Type vector=array[1..100] of integer;
  var c,buf,Vr, n, i, a, b: integer;
                   G: vector;
                   Sg,P: real;

Procedure Part_1(Vr,n,a,b:integer; var G:vector);
  var i:integer;
  Begin
     If Vr<>1 then randomize;
     for i:=1 to n do g[i]:=a+Round((b-a)*Random(100)/100);
  end;
  
  
Procedure Part_2(n:integer; G:vector; var Sg:real);
  var i,k:integer;
        P:real;
        
    


Begin
  P:=1;
  k:=0;
  For i:=1 to (n div 3)*2+1 do
    if i mod 2=1 then
      begin
      inc(g[i]);
       inc(k);
      end;
    writeln;
if k=0 then writeln('Нет четных элементов в последней трети массива')
   else writeln('Ср.ар=',P/k:7:2);
    end;
    

Procedure Part_3(n:integer; G:vector);
  var i,k,max,max2:integer;
Begin
 
  k:=0;
   max:=g[1];
   max2:= g[2];

    If g[i]<0 then
  while (i<n) do
    begin
    
   
   if  max < max2 then
   begin
   	max:=g[2];
   	max2:=g[1];
   end;
    For i:=1 to n div 4 do 
   if g[i]>max  then 
   begin
   	max2:=max;
   	max:=g[i];
   end
   else
   if  g[i]>max2 then 
   	max2:=g[i];
    end;
   
  begin
  writeln('max1=',max,'max2',max2);
  end;
  k:=k+1;
  end;
  
  
  
Procedure Part_4(n:integer; var Num,A,B:vector);
var i, temp, m, j: integer;
 f: boolean;
  Begin 
for i:=1 to n do begin
     A[i]:=random(20)+1;
     write(A[i]:4);
end;
writeln;
m:=0;
for i:=2 to n div 2 do begin
     if i mod 2 = 0 then begin
        inc(m);
        B[m]:=A[i];
        num[m]:=i;
     end;
end;
 
for i:=1 to m do begin
     write(B[i]:4);
end;
 
writeln;
 
for i:= 1 to m - 1 do 
 for j:=1 to m - i do
  if Abs(1/b[j]) < Abs(1/b[j+1]) then begin
    temp:=b[j];
    b[j]:=b[j+1];
    b[j+1]:=temp;
 end;
 
for i:=1 to n do begin
  f:=false;
  j:=0;
  repeat
    inc(j);
    if num[j] = i then f:=true;
  until f or ( j = m );
  if f then write(B[j]:4) else write(A[i]:4);
end;
readln;
end;
 
 
begin    
        write('введите вариант расчета Vr => ');
        readln(Vr);
         if Vr=0 then
    begin
    n:=25; a:=-8; b:=7; c:=2;
    g[1] := 1; g[2] := 0; g[3] :=-3; g[4] := 2; g[5] := 0;
    g[6] :=-3; g[7] := 4; g[8] := 3; g[9] := 2; g[10]:= 0;
    g[11]:= 0; g[12]:= 4; g[13]:= 0; g[14]:=-2; g[15]:=-1;
    g[16]:=-1; g[17]:= 1; g[18]:=-5; g[19]:= 0; g[20]:= 6;
    g[21]:= 2; g[22]:=-7; g[23]:=-5; g[24]:= 1; g[25]:= 3;
    end
      else
        begin
        Write('Vvedite n,a,b => '); readln(n,a,b);
        Part_1(Vr,n,a,b,g);
        end;
   for i:=1 to n do write(g[i],' ' );
 

  
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.02.2013 в 22:06.
Assassin- вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
мне надо извлечь файл, а выдает ошибки. beginner I Компьютерное железо 17 04.02.2013 22:40
Надо найти 2 ошибки Manrex Помощь студентам 10 23.12.2012 23:09
Нужно исправить ошибки!Pascal ABC Очень надо! Metanoia Помощь студентам 1 13.07.2011 13:36