3. Дана последовательность из N различных чисел. Найти сумму её членов, распо-ложенных...

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

3. Дана последовательность из N различных чисел. Найти сумму её членов, распо-ложенных между максимальным и минимальным элементами (в сумму включить и оба эти числа).


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

Программа на паскале:
const n=10;
var a:array[1..n] of integer;
max,min,imax,imin,s,i:integer;
begin
Randomize;
for i:=1 to n do begin
 a[i]:=random(51);
 write(a[i],' ');
 end;
writeln;
max:=a[1]; imax:=1;
min:=a[1]; imin:=1;
for i:=1 to n do
 begin
 if a[i]>max then begin max:=a[i]; imax:=i; end;
 if a[i] end;
writeln('max = ',max,'  min = ',min);
s:=0;
if imax then for i:=imax to imin do s:=s+a[i]
 else for i:=imin to imax do s:=s+a[i];
writeln('s = ',s);
end.

Пример:
38 15 4 5 9 15 24 40 12 9 
max = 40  min = 4
s = 97

(194k баллов)
0

Огромное спасибо;3

0 голосов

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;

my @vector;
my $vector_length = 100;
my $random_dia = 30000;
push @vector, int(rand($random_dia)) for(0..$vector_length);
my ($start, $end) = (undef, undef);
my ($min, $max, $sum) = ( $random_dia, 0, 0,);
for my $position (0.. $#vector)){
  if($vector[$position] > $max ){
     $max = $vector[$position];
     $end= $position;
  }
  if($vector[$position] < $min ){
     $min = $vector[$position];
     $start= $position;
  }
}

for my $position ($min..$max){
 $sum += $vector[$position];
}


say 'Result: \t '.$sum;

(202 баллов)
0

Большое спасибо!