From 2d2347baead831d72e83c0d1b1a9659c1fa1c77f Mon Sep 17 00:00:00 2001 From: Aleksey Lobanov Date: Sat, 6 Jun 2015 14:53:53 +0300 Subject: [PATCH] in procCross: used now contains size_t instead of wxString --- src/crossgen.hpp | 10 +++++----- wxCrossGen/main.cpp | 2 -- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/crossgen.hpp b/src/crossgen.hpp index 350f835..7171d45 100644 --- a/src/crossgen.hpp +++ b/src/crossgen.hpp @@ -11,7 +11,7 @@ typedef std::vector< std::vector > GridType; typedef std::vector< std::vector > CurGridType; // Первый индекс -- длина слова typedef std::vector< std::vector > AllWordsType; -typedef std::set< wxString > UsedWords; +typedef std::set< size_t > UsedWords; struct WordInfo { size_t x; @@ -135,10 +135,10 @@ bool procCross(UsedWords used, AllWordsType &words, CurGridType grid, size_t rand_add = rand() % 100000; size_t cur_len = cur_wi.len; size_t cur_words_size = words.at(cur_len).size(); - for (size_t i = 0; i < cur_words_size; ++i){ - wxString cur_word = words.at(cur_len).at((i + rand_add) % cur_words_size); - if (used.find(cur_word) != used.end()) + for (size_t icw = 0; icw < cur_words_size; ++icw){ + if (used.find(icw) != used.end()) continue; + wxString cur_word = words.at(cur_len).at((icw + rand_add) % cur_words_size); // Показывает, можно ли записать это слово в сетку bool can_write = true; if (cur_wi.direct == false){ @@ -157,7 +157,7 @@ bool procCross(UsedWords used, AllWordsType &words, CurGridType grid, if (can_write) { UsedWords t_used(used); - t_used.insert(cur_word); + t_used.insert(icw); CurGridType t_grid(grid); diff --git a/wxCrossGen/main.cpp b/wxCrossGen/main.cpp index 8213882..cf2b3e0 100644 --- a/wxCrossGen/main.cpp +++ b/wxCrossGen/main.cpp @@ -64,10 +64,8 @@ void MainFrame::do_layout() BEGIN_EVENT_TABLE(MainFrame, wxFrame) - // begin wxGlade: MainFrame::event_table EVT_BUTTON(wxID_PATH, MainFrame::OnbtnPathClick) EVT_BUTTON(wxID_GENERATE, MainFrame::OnbtnGenerateClick) - // end wxGlade END_EVENT_TABLE(); void MainFrame::OnbtnPathClick(wxCommandEvent &event) {