Предмет: Информатика, автор: sanyagrim1

в одномерном массиве состоящем из n целочисленных элементов вычислить
Помогите, эти два варианта на фотках

Приложения:

Ответы

Автор ответа: Gleb1Kosyrev
0
//Pascal ABC.NET v3.1 сборка 1172

//2

Const
 n=4;
 m=6;

 Type
 ty=array[1..n,1..m] of integer;

Procedure SimpleProc(var ma:ty);
Var
 i,j,c:integer;
 begin
   for j:=1 to m do
  for i:=1 to n div 2 do
   begin
    c:=ma[i,j];
    ma[i,j]:=ma[m-i-1,j];
    ma[m-i-1,j]:=c;
   end;
 end;


Var
 ma:ty;
 i,j,sum,max,x,y:integer;
begin
 randomize;
 writeln('First matrix:');
  for i:=1 to n do
   begin
     for j:=1 to m do
     begin
      ma[i,j]:=random(10);
      write(ma[i,j]:4);
     end;
    writeln;
   end;
 SimpleProc(ma); //симметрия
 writeln('Final matrix:');
 for i:=1 to n do
  begin
   for j:=1 to m do
     write(ma[i,j]:4);
   writeln;
  end;
 SimpleProc(ma); //Возвращаем в прежнее положение
  readln(x);
  for j:=1 to m do
   sum:=sum+ma[x,j];
  writeln('Sum=',sum);
  max:=Integer.MinValue;
  readln(y);
  for i:=1 to n do 
  if max<ma[i,y] then max:=ma[i,y];
  writeln('Max=',max);
end.

//1

Const
 n=4;

Var
 ar:array[1..n] of integer;
 ar2:array[1..n] of integer;
 i,min,sum,j,i1,i2:integer;
begin
 randomize;
 writeln('First array:');
  for i:=1 to n do 
  begin
    ar[i]:=random(100)-50;
    write(ar[i]:4);
   end;
  min:=abs(ar[1]);
  for i:=2 to n do
   if abs(ar[i])<min then min:=abs(ar[i]);
  for i:=1 to n do
   if ar[i]=0 then
    begin
     for j:=i to n do
      sum:=sum+ar[j];
     break;
    end;
  writeln;
  writeln('Sum=',sum);
 writeln('Final array:');
 i2:=n;
 i1:=1;
 for i:=1 to n do
 if not odd(i) then
  begin
   ar2[i1]:=ar[i];
   inc(i1);
  end
  else
  begin
  ar2[i2]:=ar[i];
  dec(i2);
  end;
 for i:=1 to n do
  begin
   ar[i]:=ar2[i];
   write(ar[i]:4);
  end;
end.
Похожие вопросы
Предмет: Алгебра, автор: ohohohohhoh8
Предмет: Русский язык, автор: Аноним