Предмет: Информатика,
автор: doto331
Всем привет! Help me!!!.
Имеется глобальный символьный двумерный массив S...##
m(6x6), представленный справа, у которого индексация строк и #.#...
столбцов начинается с 0. Глобальная целочисленная ..#..#
переменная count_ изначально равна нулю. Код функции ..###.
find_p() написан на языке C++ и приведен ниже. Чему будет #...##
равно значение глобальной переменной count_ после вызова ###..F
функции с параметрами (0, 0) то есть find_p(0, 0)?
find_p(int x, int y) (
if (x < 0 || x > 5 || y < 0 || y > 5) return 0;
if (m[y] [x] == 'F') return 1;
if (m[y] [x] != '.' && m[y] [x] != 'S') return 0;
m[y] [x] = '+';
count_++;
if (find_p (x, y - 1)) return 1;
if (find_p (x + 1, y)) return 1;
if (find_p (x, y + 1)) return 1;
if (find_p (x - 1, y)) return 1;
m[y] [x] = 'x';
return 0;
)
Ответы
Автор ответа:
0
Перепроверь массив и скомпилируй.
// Example program#include <iostream>#include <string>
using namespace std;
int count_;const unsigned int DIM1 = 6;const unsigned int DIM2 = 6;int m[DIM1][DIM2] = { { 'S', '.', '.', '.', '#', '#' }, { '#', '.', '#', '.', '.', '.' }, { '.', '.', '#', '.', '.', '#' }, { '.', '.', '#', '#', '#', '.' }, { '#', '.', '.', '.', '#', '#' }, { '#', '#', '#', '.', '.', 'F' }};int find_p(int x, int y) { if (x < 0 || x > 5 || y < 0 || y > 5) return 0; if (m[y] [x] == 'F') return 1; if (m[y] [x] != '.' && m[y] [x] != 'S') return 0; m[y] [x] = '+'; count_++; if (find_p (x, y - 1)) return 1; if (find_p (x + 1, y)) return 1; if (find_p (x, y + 1)) return 1; if (find_p (x - 1, y)) return 1; m[y] [x] = 'x'; return 0;}int main(){ find_p(0, 0); cout<<"n Otvet="<<count_;}
// Example program#include <iostream>#include <string>
using namespace std;
int count_;const unsigned int DIM1 = 6;const unsigned int DIM2 = 6;int m[DIM1][DIM2] = { { 'S', '.', '.', '.', '#', '#' }, { '#', '.', '#', '.', '.', '.' }, { '.', '.', '#', '.', '.', '#' }, { '.', '.', '#', '#', '#', '.' }, { '#', '.', '.', '.', '#', '#' }, { '#', '#', '#', '.', '.', 'F' }};int find_p(int x, int y) { if (x < 0 || x > 5 || y < 0 || y > 5) return 0; if (m[y] [x] == 'F') return 1; if (m[y] [x] != '.' && m[y] [x] != 'S') return 0; m[y] [x] = '+'; count_++; if (find_p (x, y - 1)) return 1; if (find_p (x + 1, y)) return 1; if (find_p (x, y + 1)) return 1; if (find_p (x - 1, y)) return 1; m[y] [x] = 'x'; return 0;}int main(){ find_p(0, 0); cout<<"n Otvet="<<count_;}
Приложения:
Автор ответа:
0
Да уж
Автор ответа:
0
Ответ при компилировании - 17
Автор ответа:
0
Надо было скриншот отправить
Похожие вопросы
Предмет: Английский язык,
автор: asiaavdoshina
Предмет: История,
автор: lanodana
Предмет: Литература,
автор: kirillgrechishkin1
Предмет: Математика,
автор: gulina199808
Предмет: Геометрия,
автор: gulruhxm