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
04.05.2022
В минуте 60 секунд. 1) Разделить число на 3600.Получим .целое число означает текущий час. Если из задонного числа вычесть получившееся целое число умноженное на 3600 получим число секунд в текущих минутах. 2)это число необходимо разделить на 60. Целое число будет означать текущую минуту. 3) вычитаем из оставшегося числа число минут умноженное на 60 получим текущую секунду.
// 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.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Элементы, не превышающие 15, заменить средним арифметическим всех элемента массива.
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.