Можете подсказать ответ на разделе домашнее задание нам этом сайте https://xn--48--pddunvyfkd5d.xn7sb3aecmcv8d.xn--p1ai/task/6c2e8e9c-321d-4ad7-b331-a8d2d05fc681
int main() { std::string str; getline(std::cin,str);
const int n = 5; std::string c[n] = { "=", "==", "!=", "a +=", "a -=" }; std::string psl[n] = { ": =", "=", "#", "a = a +", "a = a -" };
for (unsigned int i = n-1; i > 0; i--){ int p = str.find(c[i]); while (p > 0) { str.replace(p, c[i].size(), psl[i]); p = str.find(c[i]); } } std::cout << str; return 0; }
Приложил пример работы программы и добавил комментарии к коду.
Листинг:
from random import randint
n = randint(4, 6)
x = 0 # текущие номер элемента х
y = 0 # текущие номер элемента у
d = 0 # Направление перемещения 0 - вправо, 1 - вниз, 2 - влево, 3 - вверх
curr = 1 # номер элемента по порядку
c = n # размер цепочки
arr = [[0 for i in range(n)] for j in range(n)]
print(f"Размерность массива: {n}x{n}")
for i in range(n * n):
if d == 0:
arr[x][y] = curr
y += 1
curr += 1
if y == c:
y -= 1
d = 1
x += 1
continue
if d == 1:
arr[x][y] = curr
x += 1
curr += 1
if x == c:
x -= 1
d = 2
y -= 1
continue
if d == 2:
arr[x][y] = curr
y -= 1
curr += 1
if y == n - c - 1:
y += 1
d = 3
x -= 1
continue
if d == 3:
arr[x][y] = curr
x -= 1
curr += 1
if x == n - c:
x += 1
y += 1
d = 0
c -= 1
continue
print("Заполненный массив:")
for i in arr:
print(*i)
#include <string>
int main()
{
std::string str;
getline(std::cin,str);
const int n = 5;
std::string c[n] = { "=", "==", "!=", "a +=", "a -=" };
std::string psl[n] = { ": =", "=", "#", "a = a +", "a = a -" };
for (unsigned int i = n-1; i > 0; i--){
int p = str.find(c[i]);
while (p > 0)
{
str.replace(p, c[i].size(), psl[i]);
p = str.find(c[i]);
}
}
std::cout << str;
return 0;
}