Заменить все положительные элементы массива ** максимальный элемент массива .Напишите...

0 голосов
74 просмотров

Заменить все положительные элементы массива на максимальный элемент массива .Напишите программу в ПАСКАЛЬ.


Информатика (307 баллов) | 74 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Var
i,max:integer;
a:array [1..10] of integer;
begin
for i:=1 to 10 do begin
readln(a[i]);
end;
max:=a[1];
write('Исходный массив: ');
for i:=1 to 10 do begin
write(a[i]);
write(' ');
end;
for i:=1 to 10 do begin
if (a[i] >  max ) then
max:=a[i];
end;
for i:=1 to 10 do begin
if (a[i] > 0) then a[i]:=max;
end;
writeln(' ');
write('Полученный массив: ');
for i:=1 to 10 do begin
write(a[i]);
write(' ');
end;
end.

(1.2k баллов)
0 голосов
// PascalABC.NET 3.2, сборка 1341 от 20.11.2016
begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var mx:=a.Max;
  a:=a.Select(x->x>0?mx:x).ToArray; a.Println
end.

Пример
n= 13
8 24 17 -33 -50 34 -41 6 23 38 -19 24 38
38 38 38 -33 -50 38 -41 38 38 38 -19 38 38
(150k баллов)
0

var
i,max:integer;
a:array [1..10] of integer;

begin
for i:=1 to 10 do begin
readln(a[i]);
end;
max:=a[1];
write('Исходный массив: ');
for i:=1 to 10 do begin
write(a[i]);
write(' ');
end;
for i:=1 to 10 do begin
if (a[i] > max ) then
max:=a[i];
end;
for i:=1 to 10 do begin
if (a[i] > 0) then a[i]:=max;
end;
writeln(' ');
write('Полученный массив: ');
for i:=1 to 10 do begin
write(a[i]);
write(' ');
end;
end.

0

Круто пишешь, я еще и не туда код отправил, куда хотел)) Честно, завидую тебе, я так бы не смог написать

0

Тогда все понятно, вопросов нет ))