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

Найти произведение и количество отрицательных чисел заданного массива a=6​

Показать ответ
Ответ:
sofia27supko
sofia27supko
02.05.2023 09:59
Const
  gend = ['м', 'ж'];

type
  tMan = record
    gender: char;
    fio: string;
    height: integer
  end;

var
  man: tMan;
  max1, max2: integer;
  mfio: string;
  f: file;

begin
  { Заполнение файла }
  Assign(f, 'manfile.txt');
  Rewrite(f);
  Writeln('Введите через Enter пол (м/ж), фамилию и рост в см');
  Writeln('Для отказа введите 0');
  repeat
    Readln(man.gender);
    if man.gender in gend then
    begin
      Readln(man.fio);
      Readln(man.height);
      Write(f, man);
      Writeln('Данные приняты, продолжайте')
    end
  until not (man.gender in gend);
  Close(f);
  { Работа с файлом }
  Assign(f, 'manfile.txt');
  Reset(f);
  max1 := 0; max2 := 0;
  while not Eof(f) do
  begin
    Read(f, man);
    with man do
      if (gender = 'м') and (max1 < height) then
      begin
        max1 := height;
        mfio := fio
      end
      else if (gender = 'ж') and (max2 < height) then max2 := height;
  end;
  Writeln('Самый высокий- ', mfio, ', рост самой высокой равен ', max2);
  Close(f);
end.

Тестовое решение:

Введите через Enter пол (м/ж), фамилию и рост в см
Для отказа введите 0
м
Иванов И.И.
176
Данные приняты, продолжайте
ж
Егорова К.С.
169
Данные приняты, продолжайте
ж
Старова Г.К.
168
Данные приняты, продолжайте
м
Минкин Р.Т.
179
Данные приняты, продолжайте
0
Самый высокий- Минкин Р.Т., рост самой высокой равен 169
0,0(0 оценок)
Ответ:
ден7гв
ден7гв
10.01.2021 02:56
Рассматривая различные прямоугольники и подсчитывая в них число поворотов P, можно прийти к следующему алгоритму. Для любого натурального k получаем:
P=\begin {cases} 0, \ min(M,N)=1 &#10;\\4k-2, \ min(M,N)=2k, \, M=N, \, k \in \mathbb N \\ 4k-1, \ &#10;min(M,N)=2k, \, M \neq N, \, k \in \mathbb N \\ 4k, \ min(M,N)=2k+1, \,&#10; M=N, \, k \in \mathbb N \\ 4k+1, \ min(M,N)=2k+1, \, M \neq N, \, k &#10;\in \mathbb N \\ \end {cases}

var
  M, N, k, mn, P: integer;
  f: Text;

begin
  Assign(f, 'input.txt');
  Reset(f);
  Readln(f, M, N);
  Close(f);
  if M < N then mn := M else mn := N;
  if mn = 1 then P := 0
  else begin
    k := mn div 2;
    if mn mod 2 = 0 then
      if M = N then P := 4 * k - 2
      else P := 4 * k - 1
    else
    if M = N then P := 4 * k
    else P := 4 * k + 1
  end;
  Assign(f, 'output.txt');
  Rewrite(f);
  Writeln(f, P);
  Close(f)
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота