for (auto& i : field){ i.H = 'a' + distribution(generator) - 1; i.V = distribution(generator); } }
// Поиск возможных комбинаций для хода. std::vector<Notation> SearchMoves(const Notation& stroke){ std::vector<Notation> temp; int x, y;
for (int i = 0; i < 8; ++i){ switch (i){ case 0: // Вверх влево. y = +3; x = -1; break; case 1: // Вверх вправо. y = +3; x = +1; break; case 2: // Вправо вверх. y = +1; x = +3; break; case 3: // Вправо вниз. y = -1; x = +3; break; case 4: // Вниз вправо. y = -3; x = +1; break; case 5: // Вниз влево. y = -3; x = -1; break; case 6: // Влево вниз. y = -1; x = -3; break; case 7: // Влево вверх. y = +1; x = -3; break; } // Если ход возможен, добавим его в массив. if (CheckMov(stroke, x, y)) temp.push_back(Notation{ stroke.H + x, stroke.V + y }); } return std::vector<Notation>(temp); }
// Проверка выхода за границу. bool CheckMov(const Notation& stroke, int x, int y){ bool isLTBorder = (stroke.H + x >= 'a') && (stroke.V + y >= 1); bool isRBBorder = (stroke.H + x <= 'h') && (stroke.V + y <= 8); return (isLTBorder && isRBBorder); }
// Все возможные ходы одного элемента. std::vector<Notation> temp = SearchMoves(*field.begin()); for (auto i = field.begin() + 1; i < field.end(); ++i){ for (auto u : temp){ // Ход в массиве - есть ход конём. if (u == *i) { possible.push_back(u); break; } } temp = SearchMoves(*i); }
return std::vector<Notation>(possible); }
// Выводит массив в поток. std::ostream& PrintGround(const std::vector<Notation>& field, std::ostream& out){ for (auto i : field) out << i.H << i.V << " - "; return out; }
nataliaterekhovasinger2
02.06.2022
Вот program qq; var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t:integer; begin cls; writeln ('Введите 10 пар чисел'); read (a,b); read (c,d); read (e,f); read (g,h); read (i,j); read (k,l); read (m,n); read (o,p); read (q,r); read (s,t); //Первая пара if a > b then writeln ('Первая пара больше число ' ,a) else writeln ('Первая пара больше число ' ,b); //Вторая пара if c > d then writeln ('Вторая пара больше число ', c) else writeln ('Вторая пара больше число ', d); //Третья пара if e > f then writeln ('Третья пара больше число ', e) else writeln ('Третья пара больше число ', f); //Четвертая пара if g > h then writeln ('Четвертая пара больше число ' , g) else writeln ('Четвертая пара больше число ' , h); //Пятая пара if i > j then writeln ('Пятая пара больше число ' , i) else writeln ('Пятая пара больше число ' ,g); //Шестая пара if k > l then writeln ('Шестая пара больше число ' ,k) else writeln ('Шестая пара больше число ' ,l); //Седьмая пара if m > n then writeln ('Седьмая пара больше число ' , m) else writeln ('Седьмая пара больше число ' ,n); //Восьмая пара if o > p then writeln ('Восьмая пара больше число ' ,o) else writeln ('Восьмая пара больше число ' ,p); //Девятая пара if q > r then writeln ('Девятая пара больше число ' ,q) else writeln ('Девятая пара больше число ' ,r); //десятая пара if s > t then writeln ('Десятая пара больше число ' ,s) else writeln ('Десятая пара больше число ' ,t); end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Қандай да бір материалдық форма түріне келтірілетін және қандай да бір адамның немесе адамдар тобының ақыл-ой, іс-әрекетінің нәтижесі
Зияткерлік жекеменшік нысаны