Umkatoys50
?>

Элементы, не превышающие 15, заменить средним арифметическим всех элемента массива.

Информатика

Ответы

videofanovitch
Const n=10;
var a:array[1..n] of integer;
s,sr,i:integer;
begin
writeln('vvedite massiv=');
for i := 1 to n do
readln(a[i]);
s:=0;
for i := 1 to n do begin
s:=s+a[i];
sr:=s/n;
end;
for i := 1 to n do 
if a[i]>15 then a[i]:=sr;
writeln('noviy=');
for i :=1 to n do 
write(a[i]:4);
readln;
end.
pavpe4198
В минуте 60 секунд. 
1) Разделить число на 3600.Получим .целое число означает текущий час.
Если  из задонного числа вычесть  получившееся целое число умноженное на 3600 получим число секунд в текущих  минутах.
2)это число необходимо разделить на 60. Целое число будет означать текущую минуту.
3) вычитаем из оставшегося числа число минут умноженное на 60 получим текущую секунду.

Например
Задано число 66276.

часов.
    18 * 3600 = 64800
    66276 - 64800 = 1476
минуты.
     24 * 60 = 1440
     1476 -1440 = 36

ответ: 18 часов , 24 минуты, 36 секунд.
srgymakarov
 // PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-11,11); a.Println;
  // 1
  begin
    var s:=a.Where(t->t<0);
    if s.Count=0 then
      Writeln('1. Нет отрицательных элементов')
    else
      Writeln('1. Первый отрицательный элемент номер ',
          a.IndexOf(s.First)+1)
  end;
  // 2
  begin
    var s:=a.Select((v,i)->(v,i)).Where(t->(t[0]>0) and t[0].IsEven);
    if s.Count=0 then
      Writeln('2. Нет четных положительных элементов')
    else begin
      var r:=s.Last;
      Writeln('2. Последний четный положительный элемент номер ',r[1]+1,
          ', значение ',r[0])
      end
  end;
  // 3
  begin
    var s:=a.Select((v,i)->(v,i)).Where(t->t[0] mod 5=0);
    if s.Count<2 then
      Writeln('3. Нет двух элементов, кратных 5')
    else
      Writeln('3. Номер второго элемента, кратного 5, равен ',
          (s.Skip(1).Take(1)).First[1]+1)
  end;
  // 4
  begin
    var s:=a.Select((v,i)->(v,i)).Where(t->t[0]=0);
    if s.Count<3 then
      Writeln('4. Нет трех нулевых элементов')
    else begin
      s:=s.Skip(1).Take(2);
      Writeln('4. Количество положительных элементов между ',
          'вторым и третьим нулевыми элементами равно ',
          a[s.First[1]+1:s.Last[1]].Where(t->t>0).Count)
      end
  end;    
  // 5
  begin
    var s:=a.IndexesOf(t->t>0).Take(4).Select(t->t+1);
    if s.Count<4 then
      Writeln('5. Нет четырех положительных элементов')
    else begin
      Write('5. Номера первых четырех положительных элементов: ');
      s.Println
      end
  end;
  // 6
  begin
    var s:=a.IndexesOf(t->t<0);
    if s.Count=0 then
      Writeln('6. Нет отрицательных элементов')
    else
      Writeln('6. Номера первого и последнего отрицательных элементов: ',
          s.First+1,' ',s.Last+1)
  end;
  // 7
  begin
    var s:=a.IndexesOf(t->t>0);
    if s.Count=0 then
      Writeln('7. Нет положительных элементов')
    else begin
      var i1:=s.First;
      s:=a.IndexesOf(t->t<0);
      if s.Count=0 then
        Writeln('7. Нет отрицательных элементов')
      else begin
        var i2:=s.Last;
        Writeln('7. Количество четных элементов между первым ',
            'положительным и последним отрицательными элементами: ',
            a?[i1+1:i2].Where(t->t.IsEven).Count)
        end
      end  
  end
end.

Кто, что сможет. решите, на паскале 2а.1. найти номер первого отрицательного элемента массива. 2а.2.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Элементы, не превышающие 15, заменить средним арифметическим всех элемента массива.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

byfetvostochniy
alexluu33
Rubber-soul
Марина566
Ryadovboxing23
annasv8
alanatan5757
denbelousov963
victoriapetrs
menesmir
coffeenik20233
Volochaev
kashschool3
Petrosienko_Larisa,1908
olyafom1234