//прога на Pascal`e const n = 10; var a: array of shortint; i, min, sumcount: shortint; sum: integer; begin randomize; setLength (a, n); writeln ('Исходный массив:'); for i:=0 to n-1 do begin a[i]:=random (101)-50; write (a[i], '; '); if a[i] in [10..15] then begin inc (sum, a[i]); inc (sumcount); end; if a[i]<a[min] then min:=i; end;
if min<>(n-1) then begin a[min]:=a[min]+a[n-1]; a[n-1]:=a[min]-a[n-1]; a[min]:=a[min]-a[n-1]; end; writeln (); if sumcount>0 then writeln ('CA чисел в промежутке [10..15]: ', sum/sumcount) else writeln ('Нет чисел в промежутке [10..15]'); writeln ('Удален элемент a[', min+1, '] = ', a[n-1], '; измененный массив:'); setlength (a, n-1); for i:=0 to n-2 do write (a[i], '; '); end.
uses Crt; const nn=1000; var i,n,mn:integer; a:array[1..nn] of integer; begin Randomize; ClrScr; Write('n='); Read(n); mn:=1000; for i:=1 to n do begin a[i]:=Random(199)-99; Write(a[i],' '); if a[i]<mn then mn:=a[i] end; Writeln; Writeln('Наим. элемент ',mn); ReadKey end.
uses Crt; var i,n,mn:integer; a:array of integer; begin Randomize; ClrScr; Write('n='); Read(n); SetLength(a,n); mn:=1000; for i:=0 to n-1 do begin a[i]:=Random(199)-99; Write(a[i],' '); if a[i]<mn then mn:=a[i] end; Writeln; Writeln('Наим. элемент ',mn); ReadKey end.
Выполнение приведено во вложении 2
// 3. PascalABC.NET 3.2, 2016г., современное решение
begin var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println; Writeln('Наим. элемент ',a.Min) end.
Выполнение приведено во вложении 3.
Сделать выводы каждый может сам...
Примечание: все решения сделаны в среде PascalABC.NET 3.2, который для уровня школьных задач можно считать совместимым на уровне исходного текста с вышеприведенными версиями паскалей.
const
n = 10;
var
a: array of shortint;
i, min, sumcount: shortint;
sum: integer;
begin
randomize;
setLength (a, n);
writeln ('Исходный массив:');
for i:=0 to n-1 do
begin
a[i]:=random (101)-50;
write (a[i], '; ');
if a[i] in [10..15] then begin
inc (sum, a[i]); inc (sumcount); end;
if a[i]<a[min] then min:=i;
end;
if min<>(n-1) then
begin
a[min]:=a[min]+a[n-1];
a[n-1]:=a[min]-a[n-1];
a[min]:=a[min]-a[n-1];
end;
writeln ();
if sumcount>0 then
writeln ('CA чисел в промежутке [10..15]: ', sum/sumcount)
else writeln ('Нет чисел в промежутке [10..15]');
writeln ('Удален элемент a[', min+1, '] = ', a[n-1], '; измененный массив:');
setlength (a, n-1);
for i:=0 to n-2 do write (a[i], '; ');
end.
{ 1. Borland (Turbo) Pascal 7.0, 1994г., статический массив }
uses Crt;
const
nn=1000;
var
i,n,mn:integer;
a:array[1..nn] of integer;
begin
Randomize;
ClrScr;
Write('n='); Read(n);
mn:=1000;
for i:=1 to n do begin
a[i]:=Random(199)-99;
Write(a[i],' ');
if a[i]<mn then mn:=a[i]
end;
Writeln;
Writeln('Наим. элемент ',mn);
ReadKey
end.
Выполнение приведено во вложении 1.
// 2. Free Pascal 3.0.0, 2015г., динамический массив
uses Crt;
var
i,n,mn:integer;
a:array of integer;
begin
Randomize;
ClrScr;
Write('n='); Read(n);
SetLength(a,n);
mn:=1000;
for i:=0 to n-1 do begin
a[i]:=Random(199)-99;
Write(a[i],' ');
if a[i]<mn then mn:=a[i]
end;
Writeln;
Writeln('Наим. элемент ',mn);
ReadKey
end.
Выполнение приведено во вложении 2
// 3. PascalABC.NET 3.2, 2016г., современное решение
begin
var a:=ArrRandom(ReadInteger('n='),-99,99);
a.Println;
Writeln('Наим. элемент ',a.Min)
end.
Выполнение приведено во вложении 3.
Сделать выводы каждый может сам...
Примечание: все решения сделаны в среде PascalABC.NET 3.2, который для уровня школьных задач можно считать совместимым на уровне исходного текста с вышеприведенными версиями паскалей.