diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-22 22:49:29 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-01-22 22:49:29 +0100 |
commit | 8d279316754faa6f4d9efe31cd995631c6a18526 (patch) | |
tree | 297a669e1b523c969a1c822679b690857916574e /I_anno | |
parent | 199dde441bd19bacaa3435b770649cd415651a97 (diff) |
ex 1 23/04/19
Scrivere un metodo che prenda in input una matrice di puntatori a stringhe S di dimensione n ⇥ m, una stringa s1 ed uno short k, e restituisca la percentuale di stringhe, tra quelle presenti nelle prime k colonne di S, che siano piu` lunghe di s1. NB: si assuma k m.
Diffstat (limited to 'I_anno')
-rw-r--r-- | I_anno/Programmazione_1/ex1_23_04_19.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/I_anno/Programmazione_1/ex1_23_04_19.cc b/I_anno/Programmazione_1/ex1_23_04_19.cc new file mode 100644 index 0000000..c977ece --- /dev/null +++ b/I_anno/Programmazione_1/ex1_23_04_19.cc @@ -0,0 +1,35 @@ +#include<iostream> +#define N 4 +#define M 3 + +using namespace std; + +double func(string (*S)[M], string s1, short k) { + if(k < 1 || k > M) return -1; + + short counter{}; + short c_strings{}; + + for(int i = 0; i < N; ++i) { + for(int j = 0; j < k; ++j) { + ++c_strings; + if(S[i][j].length() > s1.length()) + ++counter; + } + } + + return static_cast<double>(counter*100/c_strings); +} + +int main() { + string A[N][M] = { + {"red", "orange", "green"}, + {"red", "orange", "green"}, + {"red", "orange", "green"}, + {"red", "orange", "green"}, + }; + + cout << func(&A[0], "pink", 2); + + return 0; +} |