Aktywne Wpisy
ninjav9max +244
25 lat za obrazę witaminki
#pieklomezczyzn
#pieklomezczyzn
źródło: 7bf95208-7ea4-437f-8f63-c422916c89f8
Pobierz
źródło: temp_file4046580690420838503
PobierzSkopiuj link
Skopiuj link
źródło: 7bf95208-7ea4-437f-8f63-c422916c89f8
Pobierz
źródło: temp_file4046580690420838503
PobierzWykop.pl
ktoś wie czemu te warunki są niemożliwe do spełnienia?
#programowanie #programista15k #cpp
Niegodnie jest to mianować C++, a raczej C z klasami lub też C z - bo w sumie nic prócz tego tam nie ma z C++.
@RedveKoronny: mieć klasy i obiekty? One właśnie powodują, że da się pisać kod bez komentarzy.
Ale jak chcesz wiedzieć to zamiast
new int*tostd::vector>oraz
#include
int** tablejako pierwszy argument.Jest to idealny kandydat do stworzenia jakiegoś rodzaju hermetyzacji.
@RedveKoronny: trzeba było dodać tag #naukaprogramowania to bym się aż tak nie przywalał :P
W każdym razie wiedz, że to jest za dużo kodu względem tak ogólnego pytania.
możliwe, poprzednia wersja programu nie dość że działała, to była trochę mniejsza (albo porownywalna) ale była kompletnie bez funkcji, i potencjalnie była sporo wolniejsza bo nie miała ani jednego wskaźnika na których chce to teraz zrobić, też w ramach nauki
Nowoczesny C++ to praktycznie unikanie gołych wskaźników gdzie się da.
std::vector to jedno z obejść i ułatwień - nie na czas nauki wskaźników.
Innymi słowy twój kod na twoim etapie nauki jest super!
Nowoczesny C++ to przede wszystkim tzw. sprytne wskaźniki, których mechanizm opiera się ściśle o zasięg/cykl-życia (scope) oraz tzw. podejście RAII. C++ rozróżnia się też od C przez istnienie
a dałbyś radę mi powiedzieć co jest z moim kodem warunki CheckSquares, CheckRows i CheckColumn nie mogą zostać spełnione? bo z tego co widzę warunki są identyczne co w pierwszej wersji programu https://pastebin.com/kEAM3YbY która zwracała wypełnioną tabelę w mniej niż sekundę (raz sie udało w 0 cykli, zwykle potrzebuje ok. 2000 cykli)
Jedyna różnica jest taka, że w CheckSquares ustawiasz nową tablicę, a nie zapisujesz random do starej.
Backtracking polega na tym, że wstawiając kolejne pole, jeżeli sprawdzisz wszystkie możliwości, to cofasz się do poprzedniego wstawienia i wybierasz następną możliwą opcję,