From 8d279316754faa6f4d9efe31cd995631c6a18526 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Wed, 22 Jan 2020 22:49:29 +0100 Subject: 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. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- I_anno/Programmazione_1/ex1_23_04_19.cc | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 I_anno/Programmazione_1/ex1_23_04_19.cc (limited to 'I_anno/Programmazione_1') 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 +#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(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; +} -- cgit v1.2.3-18-g5258