===== PascalABC.NET =====
procedure ЛевыйСдвигK(var a: array of integer; k: integer);
begin
var m := a.Length;
k := k mod m;
if k > 0 then
a := a[k:] + a[:k]
end;
procedure ПравыйСдвигK(var a: array of integer; k: integer);
begin
var m := a.Length;
k := k mod m;
if k > 0 then
a := a[m - k:] + a[:m - k]
end;
procedure ЛевыйСдвиг(var a: array of integer) :=
a := a[1:] + a[0:1];
procedure ПравыйСдвиг(var a: array of integer);
begin
var m := a.Length - 1;
a := a[m:] + a[:m];
end;
begin
// тест
var a := ArrRandom(8, 10, 99);
a.Println;
ЛевыйСдвиг(a);
a.Println;
ПравыйСдвиг(a);
a.Println;
ЛевыйСдвигK(a, 3);
a.Println;
ПравыйСдвигK(a, 3);
a.Println;
end.
var
i, n: integer;
begin
readln(n);
for i := 1 to 10 do begin
writeln(n,' x ', i, ' = ', n*i);
end;
end.
X[ i ]<>R по выходу из while как раз i - и будет индекс элемента массива, равного R
Использовать Робот
алг
нач
нц пока не справа свободно
закрасить
вниз
кц
нц пока справа свободно
вниз
кц
нц пока не справа свободно и снизу свободно
закрасить
вниз
кц
нц пока не снизу свободно
закрасить
влево
кц
нц пока снизу свободно
влево
кц
нц пока не снизу свободно и слева свободно
закрасить
влево
кц
кон
Полюбому ты эти вопросы взял из книжки, поэтому посмотри тему и ты найдешь свой ответ