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

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

👇
Ответ:
124354i
124354i
21.07.2021
S = ""
level = 0
score = 0
for i in 0..s.size
    if s[i]=="E"
        score+=1
    end

    if s[i]=="B" or score == 2
        score = 0
        level += 1
    end
end
p level

ответ 63
4,6(81 оценок)
Ответ:
1lilita
1lilita
21.07.2021
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var lvl:=0;
  var s:= '';
  var predE:=false;
  foreach var c in s do
    if c='E' then begin
      if predE then begin predE:=false; lvl+=1 end
      else predE:=true
      end
    else
      if c='B' then begin predE:=false; lvl+=1 end;
  Writeln(lvl,' level')
end.

Результат выполнения программы
63 level

И второй вариант, "как не учат в школе":

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var s:= '';
  Writeln(Regex.Matches(s,'E[EB]|B').Count,' Level')
end.

Результат выполнения аналогичный.
4,8(27 оценок)
Открыть все ответы
Ответ:
LVacelikova
LVacelikova
21.07.2021
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var (p,q):=ReadInteger2('Укажите номера строк для обмена: ');
  a.SwapRows(p-1,q-1);
  Writeln('*** Полученный массив ***'); a.Println(4);
  (p,q):=ReadInteger2('Укажите номера столбцов для обмена: ');
  a.SwapCols(p-1,q-1);
  Writeln('*** Полученный массив ***'); a.Println(4);
end.

Pasckal: поменять местами столбцы массива если можно и для строк !
4,7(67 оценок)
Ответ:
коля725
коля725
21.07.2021
Var
  A: array [1..5, 1..5] of integer;
  i, j, tmp, FL, SL: integer;
begin
for i := 1 to 5 do
begin
  for j := 1 to 5 do
    begin
    A[i, j] := random(101)-50;
    write(A[i, j]:4);
    end;
  writeln;   
 end;

writeln('Обмен строк.');
write('Введите два числа(№ строк) = ');
readln(FL, SL);
for j := 1 to 5 do
begin
  tmp := A[FL, j];
  A[FL, j] := A[SL, j];
  A[SL, j] := tmp;   
end;
for i := 1 to 5 do
begin
  for j := 1 to 5 do
    write(A[i, j]:4);
  writeln;
end;

writeln('Обмен столбцов.');
write('Введите два числа(№ столбцов) = ');
readln(FL, SL);
for i := 1 to 5 do
begin
  tmp := A[i, FL];
  A[i, FL] := A[i, SL];
  A[i, SL] := tmp;   
end;
for i := 1 to 5 do
begin
  for j := 1 to 5 do
    write(A[i, j]:4);
  writeln;
end;

end.

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