#include "stdafx.h"#include <iostream>#include <windows.h>#include <ctime>using namespace std;int main(){ SetConsoleCP(1251); SetConsoleOutputCP(1251); srand(time(0)); int core[5][5]; int t, n; bool cf, p; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { t = 0 + rand() % 2; core[i][j] = 0 + rand() % 20; if (t == 1) { core[i][j] = -core[i][j]; } cout << " " << core[i][j] << " "; } cout << endl; } cout << endl; cout << "Последняя цифра " << endl; cin >> n; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (core[i][j] % 10 == n) { cf = true; } if (core[i][j] > 0) { p = true; } } } if (cf == true) { cout << "Число, оканчивающееся на цифру " << n << " есть"<< endl; } else { cout << "Числа, оканчивающегося на цифру " << n << " нет" << endl; } if (p == true) { cout << "Положительное число есть" << endl; } else { cout << "Положительных чисел нет " << endl; }}
Ответ ......................................35629
Var
i:integer;
s:string;
begin
readln(s);
for i:=1 to length(s) do
write(s[length(s)-i]);
end.
Мы находимся в точке по горизонтали А и по вертикали А. Нам нужно попасть в точку F. Смотрим напротив строки А по горизонтали и вертикали куда можно идти, есть три варианта: сразу в F, в точку В и в точку С. Если идти сразу в F то пройденный путь составит 18. Но нам нужен кратчайший путь поэтому ищем где цифра поменьше например С. Идём в С и пройденный путь уже составляет 3, теперь смотрим по вертикали (т.к по горизонтали мы можем пойти только в точку F но нам нужен наименьший путь) куда лучше пойти и где значение меньше и это D т.к там значение наименьшее - 1.Идём в эту точку и путь уже равен 3+1=4, смотрим по горизонтали напротив D и видим что сразу можем попасть в точку F. Доходим до конца и путь составляет 4+3=7 - это кратчайший путь.
Лучше советую смотреть сразу минимальное значение в столбике F и от неё смотреть путь до точки А.
Либо рисовать графы как в комментарии выше, что скорее гораздо понятнее но дольше
ИНФОРМАТИКА - ЦСКРОТЯМЦФЯ
КОД - ФРЫ
КОМПЬЮТЕР - ФРТПГБМЪО