Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
4 / 3 / 1
Регистрация: 10.12.2022
Сообщений: 9

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

12.12.2022, 18:06. Показов 458. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru