Задан массив из n целых чисел а1- аn и число m<=n. вычислите минимум для каждого участка из m стоящих рядом элементов (таких участков n-m+1) - Pascal(Паскаль)

Формат входного файла: первая строка содержит числа n и m. далее следуют n чисел a(i)
формат выходного файла: выведите n-m+1 число i-е число - минимум для участка от i до i+m-1
uses crt;
var fin,fout:text;
    a:array[1..100] of integer;
    n,m,i,j:byte;
    mn:integer;
begin
clrscr;
assign(fin,'minimum.txt');
reset(fin);
assign(fout,'out.txt');
rewrite(fout);
read(fin,n);
read(fin,m);
writeln('Исходный массив:');
for i:=1 to n do
 begin
  read(fin,a[i]);
  write(a[i],' ');
 end;
writeln;
close(fin);
writeln(fout,'Kol. intervalov=',n-m+1);
for i:=1 to n-m+1 do
 begin
  mn:=a[i];
  for j:=i to i+m-1 do
  if a[j]<mn then mn:=a[j];
  writeln(fout,'interval ',i,'-',i+m-1,' min=',mn);
 end;
close(fout);
write('Результат записан!');
readln
end.

Leave a Comment

+ 47 = 49