Заменить все элементы массива стоящие до максимального нулями — Pascal(Паскаль)

uses crt;
var a : array [1..10] of integer;
i, n, j, max : integer;
begin
 clrscr;
 randomize;
 write('n = ');
 readln(n);
 for i := 1 to n do
  begin
   a[i] := random(20);
   write(a[i]:3)
  end;
 max := a[1];
 j := 1;
 for i := 1 to n do
  if (a[i] > max) then
   begin
    j := i
   end;
 for i := 1 to j - 1 do
  a[i] := 0;
 writeln;
 for i := 1 to n do
  begin
   write(a[i]:3);
  end;
 readln;
end.

Следующий вариант

uses crt;
const
n=20;
var
A: array [1..100] of integer;
k,i,max: integer;
begin
clrscr;
for i:=1 to N do
begin
a[i]:=random(50);
write(a[i]:4);
end;
writeln;
max:=a[1];
writeln ('kone4na9 matriza: ');
for i:=1 to N do
if a[i]>=max then
begin
max:=a[i];
k:=i;
end;
for i:=1 to n do
begin
if i<k then write(0:4)
else write(a[i]:4); end;
end.

Следующий вариант

uses crt;
var
m:array [1..100] of integer;
i,n,a,b,max,k:integer; {k позиция макс значения}
begin
clrscr;
writeln('введите колличсетво элементов массива');
readln(n);
writeln('введите элементы');
  
 for i:=1 to n     do
readln(m[i]);
  
max:=m[1];k:=1;
 for i:=1 to n        do
    if max>m[i]  then begin max:=m[i]; k:=i; end;
writeln;
writeln('максимальное значение' ,max);
  
for i:=1 to k-1 do
    m[i]:=0;
readkey;
  
end.

Следующий вариант

uses crt;
 
var
  i, size, num, max: integer;
  a: array [1 .. 10000] of integer;
 
begin;
  ClrScr;
  writeln('Введите размер массива');
  readln(size);
  FOR i := 1 TO size do
  begin
    ClrScr;
    writeln('Введите элементы массива');
    readln(a[i]);
  end;
  max := a[1];
  ClrScr;
  writeln('Введенный массив');
  FOR i := 1 TO size do
  begin
    writeln(a[i]);
    IF a[i] > max THEN
    begin
      num := i - 1;
      max := a[i];
    end
  end;
  FOR i := 1 TO num do
  begin
    a[i] := 0;
  end;
  writeln('Сформированный массив');
  FOR i := 1 TO size do
  begin
    writeln(a[i]);
  end;
 
end.

Leave a Comment

80 − = 76