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

Написать программу, сортирующую по алфавиту методом "пузырька" строку латинских букв из 15 символов, созданных генератором случайных чисел.(pascal)

Показать ответ
Ответ:
hassnallameozm4zm
hassnallameozm4zm
13.09.2020 03:02
Const
  lim = 11;

type
  V = array[1..lim] of integer;

function FirstNegative(a: V; n: integer): integer;
var
  i: integer;
begin
  i := 0;
  Result := 0;
  repeat
    i := i + 1;
    if a[i] < 0 then Result := i
  until (Result > 0) or (i > lim)
end;

procedure InpMass(var a: V; var n: integer; mName: string);
// Организует ввод массива
var
  i, p: integer;
begin
  writeln('Вводите элементы массива ' + mName + '; 7777 - конец ввода');
  i := 0;
  repeat
    read(p);
    i := i + 1;
    if p <> 7777 then a[i] := p;
  until (p = 7777) or (i > lim);
  n := i - 1
end;

var
  a, b: V;
  m, n, p, q: integer;

begin
  InpMass(a, m, 'A');
  InpMass(b, n, 'B');
  p := FirstNegative(a, m);
  q := FirstNegative(b, n);
  if p <= q then writeln('Номер первого отрицательного элемента в массива А: ', p)
  else writeln('Номер первого отрицательного элемента в массива B: ', q)
end.

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

Вводите элементы массива A; 7777 - конец ввода
37 14 -25 32 30 -29 38 27 7777
Вводите элементы массива B; 7777 - конец ввода
33  -36   23  -17   -3  -16  -33   33  -48  -39   30 7777
Номер первого отрицательного элемента в массива B: 2
0,0(0 оценок)
Ответ:
arada1
arada1
27.09.2020 01:35
var
  p1, p2, buf: real;
  n: byte;

begin
  readln(n);
  for i: byte := 1 to n do
  begin
    readln(buf);
    if (buf > 0) then
      if (p2 = 0) then
        p2 := buf
      else
        p2 := p2 * buf
    else
      if (p1 = 0) then
        p1 := buf
      else
        p1 := p1 * buf;
  end;
  
  writeln('P1 = ', p1, #13, 'P2 = ', p2);
  
  if (abs(p1) > abs(p2)) then
    writeln('|', p1, '| > |', p2, '|')
  else
    if (abs(p1) < abs(p2)) then
      writeln('|', p1, '| < |', p2, '|')
    else
      writeln('|', p1, '| = |', p2, '|')
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота