alinkaaa25
02.06.2023 15:28

Здравствуйте одно из заданий

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
06637381
26.01.2023 13:38
Const n=10; m=3;
var 
a:array[1..n,1..m] of integer;
i,j,s,k:integer; p:real;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 for j:=1 to m do
  begin
   a[i,j]:=random(81)+20;
   write(a[i,j]:4);
  end;
  writeln;
 end;
s:=0;
for i:=1 to n do
 for j:=1 to m do s:=s+a[i,j];
p:=s/n*0.8;
writeln('p = ',p:5:2);
writeln('Зачислены:');
k:=0;
for i:=1 to n do
 begin
 s:=0;
 for j:=1 to m do s:=s+a[i,j];
 if s>=p then begin write(i,' '); k:=k+1; end;
 end;
writeln;
writeln('k = ',k);
end.

Пример:
Исходный массив:
  58  79  60
  96  63  97
  90  97  57
  29  68  25
  38  75  65
  54  69  42
  44  70  47
  39  49  24
  27  64  36
  68  21  64
p = 137.20
Зачислены:
1 2 3 5 6 7 10 
k = 7
0,0(0 оценок)
Ответ:
Нэтэли11
17.08.2022 14:00
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
  var a:=ReadLines('m17.txt').JoinIntoString.ToIntegers;
  a.Println;
  var b:=a.Select((x,i)->Rec(x,i)).Where(x->x.Item1<0)
    .Select(x->x.Item2).ToArray;
  if b.Count<>2 then
    Writeln('Количество отрицательных элементов не равно двум')
  else begin
    a:=SeqFill(b[0],0).Concat(a.Skip(b[0]).Take(b[1]-b[0]+1))
      .Concat(SeqFill(a.Length-b[1]-1,0)).ToArray;
    a.Println
    end
end.

Тестовое решение:
23 14 7 15 0 13 -6 41 18 13 8 42 27 -11 3 19 10
0 0 0 0 0 0 -6 41 18 13 8 42 27 -11 0 0 0

Файл с исходными данными имеет имя m17.txt. Тестовый файл находится во вложении. Разбивка на строки сделана по 5 значений, но может быть совершенно произвольной. Также нет привязки именно к 17 числам, главное - чтобы отрицательных чисел было ровно два, иначе будет выдано сообщение о их неверном количестве.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота