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

"Вс алгоритмы. Повторение" Задача №3
В просторном зале есть перегородка. Она делит зал на левую и правую части, но не примыкает к стенам. Вдоль перегородки слева от нее некоторые клетки закрашены. Роберт находится в самом начале перегородки с левой стороны. Напиши программу, которая позволит роботу пройти вдоль правой стороны перегородки, двигаясь от ее начала. Ему нужно закрасить подряд столько клеток, сколько закрашено слева. Завершить работу можно в произвольном месте.

👇
Открыть все ответы
Ответ:
PavelSol
PavelSol
02.12.2021
Без проверки того, есть ли символ в строке:
 
Var
   S:string;
   C:char;
   i:integer;
Begin
Write('Введите строку: ');ReadLn(S);
Write('Введите символ: ');ReadLn(C);
Write('Символ "',C,'" встречается на позициях:');
For i:= 1 to Length(S) do
    if S[i] = C then Write(' ',i)
End.

Пример работы программы:

Введите строку: 12345789654621685798546323312125
Введите символ: 5
Символ "5" встречается на позициях: 5 10 17 21 32

С проверкой:

Var
   S:string;
   C:char;
   i:integer;
Begin
Write('Введите строку: ');ReadLn(S);
Write('Введите символ: ');ReadLn(C);
i:=1;
While (S[i] <> C)and(i<Length(S)) do
   i:=i+1;
if S[i] = C then
   Begin
   Write('Символ "',C,'" встречается на позициях:');
   For i:= i to Length(S) do
       if S[i] = C then Write(' ',i)
   End
else
   WriteLn('Данный символ в строке не встречается')
End.

Пример работы программы:

Введите строку: 12312123
Введите символ: 4
Данный символ в строке не встречается
4,5(41 оценок)
Ответ:
ruzhovaelizave
ruzhovaelizave
02.12.2021
// PascalABC.NET 3.2, сборка 1425 от 22.04.2017
// Внимание! Если программа не работает, обновите версию!

function KS(a:array[,] of integer):(integer,integer);
begin
  (var k,var s):=(0,0);
  for var i:=0 to a.RowCount-1 do
    for var j:=i to a.ColCount-1 do
      if a[i,j]<0 then (k,s):=(k+1,s+a[i,j]);
  Result:=(k,s)
end;

begin
  var a:=MatrRandom(5,5,-50,50); a.Println(4);
  var r:=KS(a); Writeln('k=',r[0],', Sum=',r[1]);
  var b:=MatrRandom(8,8,-80,45); b.Println(4);
  r:=KS(b); Writeln('k=',r[0],', Sum=',r[1]);
end.

Пример
  -9 -41  -6 -49  36
   6  -7  -2  -1  28
  22 -29 -20 -12   7
 -11 -37  14  34 -41
 -23  11  -9 -26 -46
k=11, Sum=-234
   9  34 -68 -32 -43 -61 -19 -55
 -66   3 -79  41 -47  27  -7  31
 -71  -7 -26  28 -58  -2 -61 -77
 -66  39 -39 -76 -13   2  21   6
 -56  42 -61   1 -39 -69 -57  -2
 -51 -79 -57  10 -10 -27  29  19
 -48 -55 -56 -76  43 -32  29 -70
  15 -71 -46 -37  23 -24   3 -22
k=23, Sum=-1010
4,4(52 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ