4 / 3 / 1
Регистрация: 10.12.2022
Сообщений: 9

Переделать программу проверки решения судоку из C++ в Python

12.12.2022, 18:06. Показов 475. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Получилось реализовать с CMake 5-ю файлами.

main.cpp
#include <iostream>
#include "checking.h"
int main() {
cout << boolalpha << Check(game);}


cheking.cpp
#include <cmath>
#include "checking.h"
bool Check(vector<vector<int>> game) {
int N = game.size();
int match_cubes = 0;
int match_row = 0;
int match_colum = 0;
int length = 0, height = 0;
int root_int = sqrt(N);
float root_float = sqrt(N);
if (root_int != root_float)return false;
vector<vector<int>>cubes(N, vector<int>(N));
if (game.size() != N) return false;
for (int i = 0; i < N; i++) {
if (game[i].size() != N) return false;}
for (int i = 0; i < N; i++) {
for (int y = 0; y < N; y++) {
cubes[i][y] = game[height][length];
length++;
if (length % root_int == 0) {
length -= root_int;
height++;}}
if ((i + 1) % root_int == 0) {
length = 0;}
else{
length += root_int;
height -= root_int;}}
for (int i = 0; i < N; i++) {
for (int y = 0; y < N; y++) {
for (int c = 0; c < N; c++) {
if (cubes[i][c] == cubes[i][y]) {
match_cubes++;}
if (cubes[i][c] < 1 || cubes[i][c] > N) {
return false;}
if (game[i][c] == game[i][y]) {
match_row++;}
if (game[i][c] < 1 || game[i][c] > N) {
return false;}
if (game[c][i] == game[y][i]) {
match_colum++;}
if (game[c][i] < 1 || game[c][i] > N) {
return false;}}
if (match_cubes != 1) return false;
if (match_row != 1) return false;
if (match_colum != 1) return false;
match_cubes = 0;
match_row = 0;
match_colum = 0;}}
return true;}


checking.h
#pragma once
#include<vector>
using namespace std;
extern vector<vector<int>>game;
bool Check(vector<vector<int>>game);

sampledata.cpp
#include "checking.h"

vector<vector<int>> game = {
{9, 7, 8, 1, 3, 4, 5, 6, 2},
{5, 4, 2, 7, 9, 6, 1, 8, 3},
{1, 6, 3, 8, 2, 5, 4, 7, 9},
{2, 3, 9, 4, 5, 8, 6, 1, 7},
{4, 8, 6, 3, 1, 7, 2, 9, 5},
{7, 1, 5, 2, 6, 9, 3, 4, 8},
{8, 9, 1, 5, 4, 2, 7, 3, 6},
{6, 5, 4, 9, 7, 3, 8, 2, 1},
{3, 2, 7, 6, 8, 1, 9, 5, 4},
};
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.12.2022, 18:06
Ответы с готовыми решениями:

Переделать обычное судоку в судоку чёт-нечёт
Здравствуйте. Помогите, пожалуйста, переделать обычное судоку 9х9 в судоку чёт-нечёт. Отличие судоку чёт-нечёт заключается в том, что на...

Возможно ли написать программу для решения Судоку?
Я человек не очень разбирающйся в Паскале, так что если кто заинтересуется помогите пожалуйста. Судоку состоит из 9-ти строк и 9-ти...

Написать программу проверки решения уравнения
1.Написать программу проверки решения уравнения. Программа должна вывести вопрос и три варианта ответа, а пользователь – выбрать правильный...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.12.2022, 18:06
Помогаю со студенческими работами здесь

Написать программу проверки решения уравнения.
Друзья! выручайте! Буду благодарен! Написать программу проверки решения уравнения. Программа должна вывести вопрос и три варианта...

Судоку. Функция проверки
пишу судоку на action script 2 рэндомизацию цифр реализовал. цифры находятся в экземплярах компоненты TextInput. названы они ....

Судоку, функция проверки на валидность
Доброго времени суток, Семпаи. Я новичок в программировании и в частности в освоении языка Питон, так что не судите строго. Вопрос нынче...

Переделать программу с паскаля на python
program demo1; var s,sd:array of integer; i,j:integer; begin {ввод массива} for i:=1 to 10 do begin ...

Как переделать программу с python на c++
Есть код на python, не могу до конца переделать на c++. Решал задачу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru