Дана последовательность a1 a2 an. образовать новую последовательность, выбросив из...

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

Дана последовательность a1 a2 an. образовать новую последовательность, выбросив из исходной, те члены, которые равны min(a1,a2 an). как это сделать при помощи функций и процедур?


Информатика (27 баллов) | 274 просмотров
0

Паскаль?

0

да

0

const n = 7;var mas:array[1..n] of integer;i,min:integer;beginmin:=0;writeln('Введите целые числа');for i := 1 to n dobeginreadln(mas[i]);if mas[i]min then write(mas[i],' ');end.

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1400 от 13.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
  var m:=a.Min;
  var b:=a.Where(x->x<>m); b.Println;
end.

Пример
n= 30
-3 6 -2 5 -1 -10 3 9 8 5 2 9 4 -10 8 10 6 9 -8 4 -7 2 10 -7 -7 -5 1 2 0 -3
-3 6 -2 5 -1 3 9 8 5 2 9 4 8 10 6 9 -8 4 -7 2 10 -7 -7 -5 1 2 0 -3

С процедурами и функциями (высосано из пальца, ибо не нужно)
// PascalABC.NET 3.2, сборка 1400 от 13.03.2017
// Внимание! Если программа не работает, обновите версию!

function ArrMin(a:array of integer):=a.Min;

procedure NewSequence(a:array of integer; del:integer; var s:sequence of integer);
begin
  s:=a.Where(x->x<>del)
end;

begin
  var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
  var b:sequence of integer;
  NewSequence(a,ArrMin(a),b);
  b.Println
end.

(150k баллов)
0

const n = 7;
var mas:array[1..n] of integer;
i,min:integer;
begin
min:=0;
writeln('Введите целые числа');
for i := 1 to n do
begin
readln(mas[i]);
if mas[i]end;
For i:= 1 to 5 do
If mas[i]<>min then write(mas[i],' ');
end.

0

есть программа

0

но ее нужно преобразовать

0

добавить процедуры и функции

0

ну вот в прошлом веке и живем

0

а так спасибо

0

всё понятно