Дан массив X(N).найти наименьший элемент если он отрицательный, заменить все элементы...

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

Дан массив X(N).найти наименьший элемент если он отрицательный, заменить все элементы массива на их модули


Информатика (53 баллов) | 22 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
1. Современная версия программы

// PascalABC.NET 3.1, сборка 1179 от 29.02.2016
begin
  var n:=ReadInteger('n=');
  var x:=ArrRandom(n,-5,20); x.Println;
  if x.Min<0 then x:=x.Select(e->abs(e)).ToArray;
  x.Println
end.

Тестовое решение
n= 15
14 18 4 17 9 6 13 13 12 -1 13 5 11 -2 14
14 18 4 17 9 6 13 13 12 1 13 5 11 2 14

2. Школьная версия программы

// PascalABC.NET 3.1, сборка 1179 от 29.02.2016
const
  nn=50;
var
  x:array[1..nn] of integer;
  i,m,n:integer;
begin
  Write('n= '); Read(n);
  Randomize;
  x[1]:=Random(26)-5; m:=x[1];
  Write(x[1],' ');
  for i:=2 to n do begin
    x[i]:=Random(26)-5;
    if x[i]    Write(x[i],' ')
    end;
  Writeln;
  if m<0 then begin<br>    for i:=1 to n do begin
      x[i]:=abs(x[i]);
      Write(x[i],' ')
      end;
    Writeln
    end
end.

Тестовое решение
n= 15
9 3 14 4 9 2 1 6 9 19 20 8 14 -3 9
9 3 14 4 9 2 1 6 9 19 20 8 14 3 9

Подтверждает довольно популярное мнение о том, что в школьной информатике многое давно пора менять...
Зачем учить писать длинно и сложно?
(142k баллов)