From d68495acbebfd4631f354bfc16afc54327b4907c Mon Sep 17 00:00:00 2001 From: Phelipe Henrique Fernandes Vieira <felihenrique@A307-29L.imd.local> Date: Tue, 5 Sep 2017 10:51:34 -0300 Subject: [PATCH] init --- application/main.cpp | 16 +++++++++ bin/all.out | 20 +++++++++++ bin/diagonal.out | 20 +++++++++++ bin/frutas.in | 39 +++++++++++++++++++++ bin/horizontal.out | 20 +++++++++++ bin/teste.out | 20 +++++++++++ bin/vertical.out | 20 +++++++++++ build/functions.o | Bin 0 -> 12320 bytes include/functions.h | 9 ++++- src/functions.cpp | 46 ++++++++++++++++++++++++- test/t_functions | Bin 0 -> 25040 bytes test/t_functions.cpp | 79 +++++++++++++++++++++++++++++++++++++++++++ test/tests.cpp | 11 ------ 13 files changed, 287 insertions(+), 13 deletions(-) create mode 100644 bin/all.out create mode 100644 bin/diagonal.out create mode 100644 bin/frutas.in create mode 100644 bin/horizontal.out create mode 100644 bin/teste.out create mode 100644 bin/vertical.out create mode 100644 build/functions.o create mode 100755 test/t_functions create mode 100644 test/t_functions.cpp delete mode 100644 test/tests.cpp diff --git a/application/main.cpp b/application/main.cpp index 8a6f183..686ad32 100644 --- a/application/main.cpp +++ b/application/main.cpp @@ -4,6 +4,22 @@ using namespace std; int main(int argc, char * argv[]) { + vector<string> tabuleiro; + vector<string> palavras; + for(unsigned i = 0; i < 20; i++) { + string line; + getline(cin, line); + tabuleiro.push_back(line); + } + string temp; + for(int i = 0; i < 19; i++) { + getline(cin, temp); + palavras.push_back(temp); + } + + verificaVertical(tabuleiro, palavras); + + print_tabuleiro(tabuleiro); return 0; } diff --git a/bin/all.out b/bin/all.out new file mode 100644 index 0000000..0bde2e8 --- /dev/null +++ b/bin/all.out @@ -0,0 +1,20 @@ +ipamdAXIEMAzlicklejo +dgrlplarwxrayqMANGAo +zptycttdijsJoMnuphIw +ftnbopqkbiAApuEqUhAw +rblqvtnngBwcMsnLpJCe +ytcesjlmUwsqUOzyAzAd +htadwyuTnfuVxxRngOsC +dospbwIAjBANANAofefx +OrnnvCyJcepBnvrlojxx +AsboAtjUqGbqAICNALEM +MyoBpemCUAphcIUQACmr +ApArysiAsACxwpObiwnu +MrialuRRkMuEzxsGzfzj +wzsbjAjArEueRifqllfy +cjtdNrgMkNtojOnnjind +cykAtksCuDdjccLvgjoi +fzsmwkAeyOisshKAqugi +tkkvvCpoyAsbzmIsadeu +hfqkAygyqukvcrWdeyrv +yqfUshzmptrymyIijeco diff --git a/bin/diagonal.out b/bin/diagonal.out new file mode 100644 index 0000000..efd305b --- /dev/null +++ b/bin/diagonal.out @@ -0,0 +1,20 @@ +ipamdaxiemazlicklejo +dgrlplarwxrayqMANGAo +zptycttdijsjoMnuphiw +ftnbopqkbiaapuEquhaw +rblqvtnngbwcmsnLpjce +ytcesjlmuwsquozyAzad +htadwyutnfuvxxrngOsc +dospbwiajBANANAofefx +ornnvcyjcepbnvrlojxx +asboatjuqgbqaicnalem +myobpemcuAphciuqacmr +aparysiasACxwpobiwnu +mrialurrkMuEzxsgzfzj +wzsbjajarEueRifqllfy +cjtdnrgmkNtojOnnjind +cykatkscuDdjccLvgjoi +fzsmwkaeyOisshKAqugi +tkkvvcpoyAsbzmIsadeu +hfqkaygyqukvcrWdeyrv +yqfushzmptrymyIijeco diff --git a/bin/frutas.in b/bin/frutas.in new file mode 100644 index 0000000..5da2520 --- /dev/null +++ b/bin/frutas.in @@ -0,0 +1,39 @@ +ipamdaxiemazlicklejo +dgrlplarwxrayqmangao +zptycttdijsjomnuphiw +ftnbopqkbiaapuequhaw +rblqvtnngbwcmsnlpjce +ytcesjlmuwsquozyazad +htadwyutnfuvxxrngosc +dospbwiajbananaofefx +ornnvcyjcepbnvrlojxx +asboatjuqgbqaicnalem +myobpemcuaphciuqacmr +aparysiasacxwpobiwnu +mrialurrkmuezxsgzfzj +wzsbjajareuerifqllfy +cjtdnrgmkntojonnjind +cykatkscuddjcclvgjoi +fzsmwkaeyoisshkaqugi +tkkvvcpoyasbzmisadeu +hfqkaygyqukvcrwdeyrv +yqfushzmptrymyiijeco +ameixa +acai +banana +caju +kiwi +manga +maracuja +goiaba +amendoa +melancia +melao +cacau +caqui +acerola +roma +uva +guarana +mamao +jabuticaba diff --git a/bin/horizontal.out b/bin/horizontal.out new file mode 100644 index 0000000..7d650ce --- /dev/null +++ b/bin/horizontal.out @@ -0,0 +1,20 @@ +ipamdaxiemazlicklejo +dgrlplarwxrayqMANGAo +zptycttdijsjomnuphiw +ftnbopqkbiaapuequhaw +rblqvtnngbwcmsnlpjce +ytcesjlmuwsquozyazad +htadwyutnfuvxxrngosc +dospbwiajBANANAofefx +ornnvcyjcepbnvrlojxx +asboatjuqgbqaicnalem +myobpemcuaphciuqacmr +aparysiasacxwpobiwnu +mrialurrkmuezxsgzfzj +wzsbjajareuerifqllfy +cjtdnrgmkntojonnjind +cykatkscuddjcclvgjoi +fzsmwkaeyoisshkaqugi +tkkvvcpoyasbzmisadeu +hfqkaygyqukvcrwdeyrv +yqfushzmptrymyiijeco diff --git a/bin/teste.out b/bin/teste.out new file mode 100644 index 0000000..0eb60d0 --- /dev/null +++ b/bin/teste.out @@ -0,0 +1,20 @@ +ipamdaxiemazlicklejo +dgrlplarwxrayqMANGAo +zptycttdijsjomnuphiw +ftnbopqkbiaapuequhaw +rblqvtnngbwcmsnlpjce +ytcesjlmuwsquozyazad +htadwyutnfuvxxrngosc +dospbwiajBANANAofefx +ornnvcyjcepbnvrlojxx +asboatjuqgbqaicnalem +myobpemcuaphciuqacmr +aparysiasAcxwpobiwnu +mrialurrkMuezxsgzfzj +wzsbjajarEuerifqllfy +cjtdnrgmkNtojonnjind +cykatkscuDdjcclvgjoi +fzsmwkaeyOisshKaqugi +tkkvvcpoyAsbzmIsadeu +hfqkaygyqukvcrWdeyrv +yqfushzmptrymyIijeco diff --git a/bin/vertical.out b/bin/vertical.out new file mode 100644 index 0000000..0eb60d0 --- /dev/null +++ b/bin/vertical.out @@ -0,0 +1,20 @@ +ipamdaxiemazlicklejo +dgrlplarwxrayqMANGAo +zptycttdijsjomnuphiw +ftnbopqkbiaapuequhaw +rblqvtnngbwcmsnlpjce +ytcesjlmuwsquozyazad +htadwyutnfuvxxrngosc +dospbwiajBANANAofefx +ornnvcyjcepbnvrlojxx +asboatjuqgbqaicnalem +myobpemcuaphciuqacmr +aparysiasAcxwpobiwnu +mrialurrkMuezxsgzfzj +wzsbjajarEuerifqllfy +cjtdnrgmkNtojonnjind +cykatkscuDdjcclvgjoi +fzsmwkaeyOisshKaqugi +tkkvvcpoyAsbzmIsadeu +hfqkaygyqukvcrWdeyrv +yqfushzmptrymyIijeco diff --git a/build/functions.o b/build/functions.o new file mode 100644 index 0000000000000000000000000000000000000000..ee2eaa47b5544b2730a981ca67d18a42428a0192 GIT binary patch literal 12320 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 F{|o*9xyt|m literal 0 HcmV?d00001 diff --git a/include/functions.h b/include/functions.h index 28c88f5..aa41b1a 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1,12 +1,19 @@ #include <vector> #include <iostream> +#include <string> +#include <algorithm> #ifndef functions_h #define functions_h using namespace std; - +void print_tabuleiro(vector<string>& tabuleiro); +void toupperstr(string& str); +void verificaHorizontal(vector<string>& tabuleiro, vector<string> palavras); +void verificaVertical(vector<string>& tabuleiro, vector<string> palavras); +void verificaDiagonal(vector<string>& tabuleiro, string palavra); +void transpose(const vector<string> &matrix, vector<string> &dest); #endif diff --git a/src/functions.cpp b/src/functions.cpp index 78e270a..e8cecd3 100644 --- a/src/functions.cpp +++ b/src/functions.cpp @@ -1 +1,45 @@ -#include "functions.h" \ No newline at end of file +#include "functions.h" + +void print_tabuleiro(vector<string>& tabuleiro) { + for(auto& linha: tabuleiro) { + cout << linha << endl; + } +} + +void toupperstr(string& str) { + transform(str.begin(), str.end(),str.begin(), ::toupper); +} + +void verificaHorizontal(vector<string>& tabuleiro, vector<string> palavras) { + for(auto& p: palavras) { + for(auto& linha: tabuleiro) { + size_t pos = linha.find(p); + if(pos != string::npos) { + linha.erase(pos, p.size()); + string temp = p; + toupperstr(temp); + linha.insert(pos, temp); + } + } + } +} + +void verificaVertical(vector<string>& tabuleiro, vector<string> palavras) { + auto tabuleiro_temp = tabuleiro; + transpose(tabuleiro, tabuleiro_temp); + verificaHorizontal(tabuleiro_temp, palavras); + transpose(tabuleiro_temp, tabuleiro); +} + +void transpose(const vector<string> &matrix, vector<string> &dest) +{ + dest.resize(matrix[0].size()); + for (unsigned i = 0; i < matrix[0].size(); i++) + { + dest[i] = string(matrix.size(), '0'); + for (unsigned j = 0; j < matrix.size(); j++) + { + dest[i][j] = matrix[j][i]; + } + } +} diff --git a/test/t_functions b/test/t_functions new file mode 100755 index 0000000000000000000000000000000000000000..f8c36caf2ea7eb12a023dd3d6652899eeb455c7c GIT binary patch literal 25040 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 literal 0 HcmV?d00001 diff --git a/test/t_functions.cpp b/test/t_functions.cpp new file mode 100644 index 0000000..f14f208 --- /dev/null +++ b/test/t_functions.cpp @@ -0,0 +1,79 @@ +#include <iostream> +#include <cassert> +#include <cmath> +#include "functions.h" + +using namespace std; + +int main (int argc, char * argv[]) { + vector<string> tabuleiro = { + "ipamdaxiemazlicklejo", + "dgrlplarwxrayqmangao", + "zptycttdijsjomnuphiw", + "ftnbopqkbiaapuequhaw", + "rblqvtnngbwcmsnlpjce", + "ytcesjlmuwsquozyazad", + "htadwyutnfuvxxrngosc", + "dospbwiajbananaofefx", + "ornnvcyjcepbnvrlojxx", + "asboatjuqgbqaicnalem", + "myobpemcuaphciuqacmr", + "aparysiasacxwpobiwnu", + "mrialurrkmuezxsgzfzj", + "wzsbjajareuerifqllfy", + "cjtdnrgmkntojonnjind", + "cykatkscuddjcclvgjoi", + "fzsmwkaeyoisshkaqugi", + "tkkvvcpoyasbzmisadeu", + "hfqkaygyqukvcrwdeyrv", + "yqfushzmptrymyiijeco" + }; + + vector<string> tabuleiro_horizontal = { + "ipamdaxiemazlicklejo", + "dgrlplarwxrayqMANGAo", + "zptycttdijsjomnuphiw", + "ftnbopqkbiaapuequhaw", + "rblqvtnngbwcmsnlpjce", + "ytcesjlmuwsquozyazad", + "htadwyutnfuvxxrngosc", + "dospbwiajBANANAofefx", + "ornnvcyjcepbnvrlojxx", + "asboatjuqgbqaicnalem", + "myobpemcuaphciuqacmr", + "aparysiasacxwpobiwnu", + "mrialurrkmuezxsgzfzj", + "wzsbjajareuerifqllfy", + "cjtdnrgmkntojonnjind", + "cykatkscuddjcclvgjoi", + "fzsmwkaeyoisshkaqugi", + "tkkvvcpoyasbzmisadeu", + "hfqkaygyqukvcrwdeyrv", + "yqfushzmptrymyiijeco" + }; + + vector<string> palavras = { + "ameixa", + "acai", + "banana", + "caju", + "kiwi", + "manga", + "maracuja", + "goiaba", + "amendoa", + "melancia", + "melao", + "cacau", + "caqui", + "acerola", + "roma", + "uva", + "guarana", + "mamao", + "jabuticaba" + }; + + verificaHorizontal(tabuleiro, palavras); + assert(tabuleiro_horizontal == tabuleiro); +} diff --git a/test/tests.cpp b/test/tests.cpp deleted file mode 100644 index 9a93b50..0000000 --- a/test/tests.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include <iostream> -#include <cassert> -#include <cmath> -#include "functions.h" - -using namespace std; - -int main (int argc, char * argv[]) { - - return 0; -} -- GitLab