М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Kottenok2005
Kottenok2005
30.10.2021 15:18 •  Информатика

Имеется целочисленный массив n*m элементов. найти среднее арифметическое элементов массива. определить и вывести количество массива, значения которых превышает это среднее

👇
Ответ:
MintMartini
MintMartini
30.10.2021
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var s:=a.ElementsByRow;
  var avg:=s.Average;
  Writeln('Среднее арифметическое ',avg);
  Writeln('Элементы, превышающее среднее арифметическое:');
  s:=s.Where(t->t>avg);
  s.OrderBy(t->t).Println;
  Writeln('Всего таких элементов: ',s.Count)
end.

Пример
Количество строк и столбцов в массиве: 4 5
*** Исходный массив ***
  98  95 -10 -45  21
 -33 -11  14 -46  87
  57 -40 -96 -40  15
 -99 -20  -7 -29 -89

Среднее арифметическое -8.9
Элементы, превышающее среднее арифметическое:
-7 14 15 21 57 87 95 98
Всего таких элементов: 8
4,8(70 оценок)
Открыть все ответы
Ответ:
Zanyt
Zanyt
30.10.2021
Procedure GetWord(s:string; var p:integer; var w:string; delim:string:=' ');
{
 Получает в w слово из строки s, которое начинается не ранее позиции p.
 Возвращает новое значение p, указывающее на первый разделитель delim,
 который следует за найденным словом или 0, если такой разделитель не найден.
 По умолчанию слова разделяются не менее чем одним пробелом
}
var
  i,n:integer;
  fBreak:boolean; { флажок для прерывания циклов }
begin
  n:=Length(s); fBreak:=False;
  {ищем первый символ, отличный от разделителя - начало слова }
  while ((p<=n) and (not fBreak)) do
    if (p=n) or (s[p]<>delim) then fBreak:=True
    else Inc(p);
  { ищем очередной разделитель - конец слова }
  if p<n then begin
    i:=p; Inc(p); fBreak:=False;
    while (p<=n) and (not fBreak) do begin
      if (p=n) or (s[p]=' ') then fBreak:=True else Inc(p)
    end;
  { теперь слово находится между позициями i и p }
  w:=Copy(s,i,p-i)
  end;
  if p>=n then p:=0
end;

function CountG(w:string):integer;
{ возвращает количество гласных в слове w}
var
  i,k:integer;
begin
  k:=0;
  for i:=1 to length(w) do
    if w[i] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k);
  CountG:=k
end;

var
  s,w,wmax:string;
  p,k,gmax:integer;
begin
  Writeln('Введите текст, разделяя слова пробелами');
  Readln(s);
  s:=LowerCase(s);
  p:=1; gmax:=0;
  while p>0 do begin
    GetWord(s,p,w);
    k:=CountG(w);;
    if gmax<k then begin gmax:=k; wmax:=w end
  end;
  if gmax>0 then Writeln('В слове "',wmax,'" максимум гласных, равный ',gmax)
  else Writeln('Во введенной строке гласных букв не найдено')
end.
4,4(28 оценок)
Ответ:

1. Актуальная: Экологическая обстановка в мире с каждым днём ухудшается.

2. Неактуальная: Чтобы добыть огонь, нужно стукать камушек о камушек.

3. Достоверная: Силы, с которыми тела действуют друг на друга, равны по модулю и противоположны по направлению (информация из учебника).

4. Недостоверная: Люська из пятого подъезда ведёт разгульный образ жизни (слова соседки-сплетницы).

5. Объективная: Часы показывают 17 часов 50 минут.

6. Необъективная: Сейчас вечер.

7. Полная: Красный свет - стой, жёлтый - приготовься, зелёный - иди.

8. Неполная: Красный свет - стой, зелёный - иди (для трёхцветного светофора)

9. Полезная: Не сутулься, а то рано состаришься!

10. Бесполезная: В соседней деревне нет ни одного Олега.

11. Понятная: Два плюс два равно четыре.

12. Непонятная: жык лопр дыв мыг

4,8(82 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ