Объяснение:
В общем алгоритм такой.
Пусть мы имеем массив a[1..n, 1..n] из n*n элементов,
i - номер строки, j - номер столбца.
Спускаемся вниз по строкам до строки, номер которой отличается от того,
n - четное или нечетное.
В общем случае это номер i_ser, равный n делить на 2, и округленный до целого вниз.
Например, если n = 4, i_ser = 2, если n = 7, то i_ser = 3.
Для i от 1 до i_ser делать
начало
Для j от 1 до i делать
// здесь мы получаем нужные нам координаты i, j
конец
Если i_ser нечетно, то отдельно проходимся по строке с номером i_ser+1
Если i_ser нечетно то
начало
i_ser = i_ser + 1
Для j от 1 до i_ser делать
// здесь мы получаем нужные нам координаты i_ser, j
конец
i_ser = i_ser + 1
Для i от i_ser до n делать
начало
Для j от 1 до n - i + 1 делать
// здесь мы получаем нужные нам координаты i, j
конец
Недостатки и преимущества не написал
Объяснение:
Система "CLICK" – это система мобильного банкинга, позволяющая физическим лицам производить оплату посредством мобильного телефона (через USSDSMS-портал) или Интернета (через WebWeb-mobile) за услуги сотовых операторов, интернет-провайдеров; переводить денежные средства другим физическим лицам, торгово-сервисным предприятиям (покупки в супермаркетах, оплата в ресторанах и кинотеатрах); делать онлайн-покупки в интернет-магазинах непосредственно со своего банковского счета.
var
s: string;
i: integer;
begin
readln(s);
for i:=2 to length(s)-2 do
if (s[i-1]+s[i]+s[i+1]+s[i+2]=' не ') then s[i+1]:='и'
else if ((s[i-1]+s[i]+s[i+1]='не ') and (i=2)) then s[i]:='и'
else if ((s[i]+s[i+1]+s[i+2]=' не') and (i=length(s)-2)) then s[i+2]:='и';
write(s);
end.
Задача 2
var
s: string;
i, k: integer;
begin
readln(s);
for i:=2 to length(s)-1 do
if s[i-1]+s[i]+s[i+1]=' в ' then inc(k)
else if ((s[i-1]+s[i]='В ') or (s[i-1]+s[i]='в ')) and (i=2) then inc(k);
write(k);
end.
Если есть вопросы, пишите в ЛС :)