В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Rusynyk
Rusynyk
15.04.2022 02:33 •  Информатика

Вводить с клавиатуры символы до тех пор, пока не будет введен пробел
1)определить сколько было введено маленьких английских букв
2)изменить программу так, чтобы она находила количество введенных чисел я тему эту вообще не изучал ( не понимаю чуток).

Показать ответ
Ответ:
Vika7550
Vika7550
09.06.2021 07:37
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество судей:');
  Assert(n.InRange(3,5),'Неверное количество судей, разрешено 3,4 или 5');
  var a:=ReadArrReal('Введите оценки:',n);
  if n>3 then Writeln(' ',a.OrderBy(t->t).ToArray[1:n-1].Average:0:4)
  else begin
    var m:=a.Average;
    var b:=a.Select(t->(t,Abs(t-m))).OrderByDescending(t->t[1]).ToArray;
    if Abs(b[0][1]-b[1][1])<1e-5 then Writeln(' ',m:0:4)
    else Writeln(' ',b.Skip(1).Select(t->t[0]).Average:0:4)
    end
end.

2. А в школах часто все еще учат писать так:

var
  a,d:array[1..5] of real;
  n,i,imax,imin,j:integer;
  s,avg:real;

begin
  Write('Количество судей: '); Read(n);
  if (n<3) or (n>5) then
    Writeln('Неверное количество судей, разрешено 3,4 или 5')
  else begin
    Write('Введите оценки: ');
    for i:=1 to n do Read(a[i]);
    if n>3 then begin
      imax:=1; imin:=1;
      for i:=2 to n do
        if a[i]<a[imin] then imin:=i
        else
          if a[i]>a[imax] then imax:=i;
      s:=0;
      a[imax]:=0;
      a[imin]:=0;
      for i:=1 to n do s:=s+a[i];
      avg:=s/(n-2);
      Writeln(' ',avg:0:4)
      end
    else begin
      s:=0;
      for i:=1 to n do s:=s+a[i];
      avg:=s/n;
      for i:=1 to n do d[i]:=Abs(a[i]-avg);
      for i:=1 to n-1 do
        for j:=i+1 to n do
          if d[i]<d[j] then begin
            s:=d[i]; d[i]:=d[j]; d[j]:=s
            end;
      if Abs(d[1]-d[2])<1e-5 then Writeln(' ',avg:0:4)
      else begin
        s:=0;
        for i:=1 to n do
          if a[i]<>a[1] then s:=s+a[i];
        avg:=s/(n-1);
        Writeln(' ',avg:0:4)
        end
      end
    end
end.
0,0(0 оценок)
Ответ:
Серёжа331
Серёжа331
05.05.2022 05:49
Const n=12;
var
  a:array[1..n] of integer;
  i,j,t:integer;
begin
  Randomize;
  Writeln('Исходный массив:');
  for i:=1 to n do begin
    a[i]:=Random(51)-25;
    Write(a[i],' ')
  end;
  Writeln;
  for i:=1 to n-1 do
    for j:=1 to n-i do
      if a[j]>a[j+1] then
      begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
  Writeln('Отсортированный массив:');
  for i:=1 to n do Write(a[i],' ');
  Writeln
end.

Пример:
Исходный массив:
-6 -11 -1 -24 -15 23 14 -13 -5 3 17 -21
Отсортированный массив:
-24 -21 -15 -13 -11 -6 -5 -1 3 14 17 23
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота