From 9a716a0c0c8ba8285d896242266f657bd93fd26f Mon Sep 17 00:00:00 2001 From: antonioialazzo Date: Tue, 11 Nov 2025 15:19:05 +0100 Subject: [PATCH 1/2] feat: solve risk-risiko.cpp --- exercises/risk-risiko.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/exercises/risk-risiko.cpp b/exercises/risk-risiko.cpp index 3166f058..bd73ef9d 100644 --- a/exercises/risk-risiko.cpp +++ b/exercises/risk-risiko.cpp @@ -27,3 +27,36 @@ M 3 vs 3 => blue win O 2 vs 1 => red win */ +#include +#include +#include +#include +using namespace std; + +void throwDices(int *v, size_t n){ + for (int i=0; i()); +} + +int main() { + srand(time(nullptr)); + int v1[3],v2[3]; + char chs[3]= {'N', 'M', 'O'}; + throwDices(v1, 3); + throwDices(v2, 3); + cout << "Red dices: " << endl; + for (int i=0; i<3; i++){ + cout << v1[i] << " (" << chs[i] << ")"<< endl; + } + cout << "\nBlue dices: " << endl; + for (int i=0; i<3; i++){ + cout << v2[i] << " (" << chs[i] << ")"<< endl; + } + + printf("\n%3.c%5.c\n", 'R', 'B'); + for (int i=0; i<3; i++){ + cout << chs[i] << " " << v1[i] << " vs " << v2[i] << " => " << (v1[i]>v2[i] ? "red win" : "blue win" ) << endl; + } +} \ No newline at end of file From aebc77f61abab153fbfae6d60634105e3b249ead Mon Sep 17 00:00:00 2001 From: antonioialazzo Date: Tue, 11 Nov 2025 16:32:45 +0100 Subject: [PATCH 2/2] refactor: move redundant code from main into functions and add return 0 --- exercises/risk-risiko.cpp | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/exercises/risk-risiko.cpp b/exercises/risk-risiko.cpp index bd73ef9d..952e870e 100644 --- a/exercises/risk-risiko.cpp +++ b/exercises/risk-risiko.cpp @@ -31,30 +31,40 @@ #include #include #include +const char chs[3]= {'N', 'M', 'O'}; using namespace std; -void throwDices(int *v, size_t n){ - for (int i=0; i()); -} +void throwDices(int *v, int n); +void printThrows (int *v, int n); +void fight(int *v1, int *v2 , int n); int main() { srand(time(nullptr)); int v1[3],v2[3]; - char chs[3]= {'N', 'M', 'O'}; throwDices(v1, 3); throwDices(v2, 3); cout << "Red dices: " << endl; - for (int i=0; i<3; i++){ - cout << v1[i] << " (" << chs[i] << ")"<< endl; - } + printThrows(v1, 3); cout << "\nBlue dices: " << endl; - for (int i=0; i<3; i++){ - cout << v2[i] << " (" << chs[i] << ")"<< endl; + printThrows(v2, 3); + + fight(v1, v2, 3); + return EXIT_SUCCESS; +} + +void throwDices(int *v, int n){ + for (int i=0; i()); +} +void printThrows (int *v, int n){ + for (int i=0; i " << (v1[i]>v2[i] ? "red win" : "blue win" ) << endl;