summaryrefslogtreecommitdiff
path: root/I_anno/Programmazione_1/ex1_23_04_19.cc
diff options
context:
space:
mode:
authorSanto Cariotti <dcariotti24@gmail.com>2020-01-22 22:49:29 +0100
committerSanto Cariotti <dcariotti24@gmail.com>2020-01-22 22:49:29 +0100
commit8d279316754faa6f4d9efe31cd995631c6a18526 (patch)
tree297a669e1b523c969a1c822679b690857916574e /I_anno/Programmazione_1/ex1_23_04_19.cc
parent199dde441bd19bacaa3435b770649cd415651a97 (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/Programmazione_1/ex1_23_04_19.cc')
-rw-r--r--I_anno/Programmazione_1/ex1_23_04_19.cc35
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;
+}