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

Напишите программу паскале, которая выбирает из списка футболистов, год рождения которых находится в диапазоне от k до m , и которые забили за сезон ровно b мячей. входные данные в первой строке вводятся три числа: k , m и b . во второй строке записано количество футболистов в списке n . следующие n строк имеют формат: < фамилия> < имя> < год рождения> < число забитых мячей> выходные данные программа должна вывести фамилии и имена тех футболистов, год рождения которых находится в диапазоне от k до m , и которые забили за сезон ровно b мячей. в последней строке программа выводит количество футболистов в итоговом списке.

Показать ответ
Ответ:
13102005bibe
13102005bibe
15.03.2023 03:54
// PascalABC.NET 3.0, сборка 1076
begin
  var n:=ReadInteger('Число элементов массива=');
  var a:=ArrRandom(n,-25,25);
  Write('Исходный массив: '); a.Println;
  var k:=a.Where(x->sqr(x)>sqr(a[0])).Count;
  if k>0 then Writeln
    ('Найдено ',k,' элементов, квадрат которых больше квадрата первого')
  else Writeln
    ('Нет ни одного элемента, квадрат которого больше квадрата первого')
end.

Тестовое решение:
Число элементов массива=15
Исходный массив: 11 12 -11 -3 -16 -22 22 4 -4 -1 -16 -9 -19 4 16
Найдено 7 элементов, квадрат которых больше квадрата первого
0,0(0 оценок)
Ответ:
martynovich04
martynovich04
13.03.2021 23:56
Program Olympic;

const
  nMax = 50; { максимум 50 команд }
  cGold = 7;
  cSilver = 6;
  cBronze = 5;

type
  cName = string[20];
  RC = record
    position: byte;
    name: cName;
    nGold: byte;
    nSilver: byte;
    nBronze: byte;
    cTotal: byte
  end;
  tM = array[1..nMax, 1..2] of byte;

procedure Shell(var a: tM; n: integer);
{ Сортировка методом Шелла массива a[1..n, 1..2]
  по убыванию значений элементов второго столбца. }
var
  i, j, step, t1, t2: integer;

begin
  step := n div 2;
  while step > 0 do
  begin
    for j := n - step downto 1 do
    begin
      i := j;
      while i <= n - step do
      begin
        if a[i, 2] < a[i + step, 2] then
        begin
          t1 := a[i, 1]; t2 := a[i, 2];
          a[i, 1] := a[i + 1, 1]; a[i, 2] := a[i + 1, 2];
          a[i + 1, 1] := t1; a[i + 1, 2] := t2
        end;
        i := i + step
      end
    end;
    step := step div 2
  end
end;

{ Основная программа }
var
  f: file of RC;
  a: tM;
  i, n: byte;
  s: cName;
  t: RC;

begin
  { Организуем ввод данных }
  Assign(f, 'Olympic.in');
  Rewrite(f);
  n := 0;
  repeat
    Writeln('Введите наименование команды или * для окончания ввода');
    Readln(s);
    if s[1] <> '*' then
    begin
      n := n + 1;
      Write('Количество медалей: золото, серебро, бронза: ');
      Readln(t.nGold, t.nSilver, t.nBronze);
      t.position := n;
      t.name := s;
      t.cTotal := t.nGold * cGold + t.nSilver * cSilver + t.nBronze * cBronze;
      Write(f, t);
      a[n, 1] := t.position; a[n, 2] := t.cTotal
    end
  until s[1] = '*';
  Reset(f);
  { Выполняем сортировку заполненного массива a,
    определяя положение записей в файле }
  Shell(a, n);
  { Выводим результаты, используя прямой доступ к файлу }
  Writeln('Результаты олимпиады');
  for i := 1 to n do
  begin
    seek(f, a[i, 1] - 1);
    Read(f, t);
    Writeln(i, ': ', t.name, '(', t.nGold, ' зол, ', t.nSilver, ' сер, ',
      t.nBronze, ' бронз), очков- ', t.cTotal)
  end;
  Close(f);
end.

Тестовое решение:
Введите наименование команды или * для окончания ввода
Веселые медузы
Количество медалей: золото, серебро, бронза: 4 6 10
Введите наименование команды или * для окончания ввода
Юные сурки
Количество медалей: золото, серебро, бронза: 2 0 5
Введите наименование команды или * для окончания ввода
Черепашки-ниндзя
Количество медалей: золото, серебро, бронза: 3 7 11
Введите наименование команды или * для окончания ввода
*
Результаты олимпиады
1: Черепашки-ниндзя(3 зол, 7 сер, 11 бронз), очков- 118
2: Веселые медузы(4 зол, 6 сер, 10 бронз), очков- 114
3: Юные сурки(2 зол, 0 сер, 5 бронз), очков- 39
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота