From fc5e00d760f79e678e9cd4784cb86739463eae8a Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Thu, 6 Feb 2025 07:33:51 +0100 Subject: [PATCH] Opzione 2 --- Program.cs | 41 ++++++++++++++++-- bin/Debug/net9.0/strings_1.dll | Bin 6144 -> 7168 bytes bin/Debug/net9.0/strings_1.pdb | Bin 11040 -> 11396 bytes obj/Debug/net9.0/ref/strings_1.dll | Bin 5632 -> 5632 bytes obj/Debug/net9.0/refint/strings_1.dll | Bin 5632 -> 5632 bytes obj/Debug/net9.0/strings_1.AssemblyInfo.cs | 2 +- .../net9.0/strings_1.AssemblyInfoInputs.cache | 2 +- obj/Debug/net9.0/strings_1.dll | Bin 6144 -> 7168 bytes obj/Debug/net9.0/strings_1.pdb | Bin 11040 -> 11396 bytes 9 files changed, 40 insertions(+), 5 deletions(-) diff --git a/Program.cs b/Program.cs index 3c641c9..d0e2789 100644 --- a/Program.cs +++ b/Program.cs @@ -24,12 +24,12 @@ class Program { break; case 2: Console.Clear(); - + ContaLettere(); Pausa(); break; case 3: Console.Clear(); - + Pausa(); break; case 4: @@ -65,10 +65,45 @@ class Program { if (daEsserCercato.Contains(trova)) { ritorno = daEsserCercato.Replace(trova, sostituisci); } - else{ + else { ritorno = $"Nessuna occorrenza di {trova} trovata in {daEsserCercato}"; } return ritorno; } + + static void ContaLettere() { + string daEsserCercato, stringa; + int vocali, consonanti; + + Console.Write("Inserire il testo in cui contare le lettere: "); + daEsserCercato = Console.ReadLine(); + + stringa = daEsserCercato.ToLower();//converto la stringa in caratteri minuscoli per semplificare la ricerca delle lettere dopo + + //Queste sono due addizioni lunghissime perché ho voluto cercare di usare solo i metodi delle stringhe e non convertire la stringa in array per la ricerca + vocali = CercaLettera(stringa, 'a') + CercaLettera(stringa, 'e') + CercaLettera(stringa, 'i') + CercaLettera(stringa, 'o') + CercaLettera(stringa, 'u'); + consonanti = CercaLettera(stringa, 'b') + CercaLettera(stringa, 'c') + CercaLettera(stringa, 'd') + CercaLettera(stringa, 'f') + CercaLettera(stringa, 'g') + CercaLettera(stringa, 'h') + CercaLettera(stringa, 'j') + CercaLettera(stringa, 'k') + CercaLettera(stringa, 'l') + CercaLettera(stringa, 'm') + CercaLettera(stringa, 'n') + CercaLettera(stringa, 'p') + CercaLettera(stringa, 'q') + CercaLettera(stringa, 'r') + CercaLettera(stringa, 's') + CercaLettera(stringa, 't') + CercaLettera(stringa, 'v') + CercaLettera(stringa, 'w') + CercaLettera(stringa, 'x') + CercaLettera(stringa, 'y') + CercaLettera(stringa, 'z'); + + Console.WriteLine($"La stringa {daEsserCercato} contiene {vocali} vocali e {consonanti} consonanti"); + } + + static int CercaLettera(string p_stringa, char p_lettera) { + int i = 0, ritorno = 0; + //creo un array per avere l'indice iniziale di ogni occorrenza del testo da trovare e lo riempio di -1 visto che sono indici non validi + int[] indiciOccorrenze = new int[p_stringa.Length]; + for (int j = 0; j < indiciOccorrenze.Length; j++) { + indiciOccorrenze[j] = -1; + } + + while (p_stringa.Contains(p_lettera)) {//finché c'è un'occorrenza + ritorno++;//conta quante occorrenze ci sono state + indiciOccorrenze[i] = p_stringa.IndexOf(p_lettera);//salva l'indice iniziale dell'occorrenza + p_stringa = p_stringa.Substring(indiciOccorrenze[i] + 1);//accorcia il testo per cercare oltre l'occorrenza appena trovata (1 serve per accorciare oltre la lettera) + i++; + } + return ritorno; + } + + } diff --git a/bin/Debug/net9.0/strings_1.dll b/bin/Debug/net9.0/strings_1.dll index b545acf8372cd2c33212ad1aa5b7cbff2252ef85..33e24e80814a609c3402658fbd3c843a7b4cfadc 100644 GIT binary patch delta 2183 zcmYjTZERCj7=F&V?d|Q?TvztNaJE}j%Bt9HuyyE!xq+L`Fx`+DFnHN*N42)2?HFjZ zU<@jLv0VOO6eVI}Of67@N^yXslabDsBk-}9bx z-}~Nlhtr2M#~<%{@7=AZurj_w7lI-UG*K|>;??P;*LH@l1GX!B3vkA})EN!k1B7TB zbWGcw@*4Xtk@PoGiE}pD$3#l3vfmbKMZ5j2NW_>^jWJFMFFs8GHv|Den^U)Y8q)Tp z^oXDA9rB@259Q6AsasRK?QdmUXe8MH1d#No*h_MY=&*;hn1H=YTdV=mw1xunXg~xl z;qsFb^GRNYJ0iq@UTWnM^u^4iml=Gqth3JeVtJR8T(VFnAzy5-!+fz>*JZgR=aM;+ z8gwSw=Sugwmw5Nty zzAC;MmOjuDl%)=Oo^Ixg4Yh<*0T}+~Q}DOWg#E@d`M*3-PsDTWg;XbetusMGms;rx z#-Eagexh}z6eDkh-Z~QiJ#ku5Z^V1;=f0?(LPYQGlF3er=)P&{mYamrKlTq=`_Nel zBpwDXXA6vRCZ?+8d~vSAo59k7QKjve!mEBjb!p<}9pj^1-=Y1eJ>+StsdoQE^r5BR zmApSYmCeG*z2K<`bMiTzQK1c^N|7s^dIU>3ClpBxW4^ z4T?88{8eDYX#zK@@E;qUMN05C4gg6@pcEp)YVm@3V1Dbp+;D| z*pOpQ#+AN=iabgCX7wzzhWJntR^6(hUv|?xzv6t#aZV@dp;zNY`aW>1qiyGSaJ>#| z_r|)5+Cvk||bgacLJSf)lm{)jE6mJmM;4@+ZUlLPTMQtV1afIJQiFh9tL_0E=M%f=0e59@cewXXl*N%?>8A>*)Qmuf+MA3b!Efy7rH5Y<3%fbaC^?) zXmo9uTG(4pjJa%e&qTI3SKWu{a_NA%b*faU=Bo?&%4~im??hf5TCn#SqnYVa{bL#~ zS|f$5S;lBKXD$?~<3+~ImkK72uSblTMXQi4W4bg^TFlyKjf2bU{Kur&WnTzfX@4AO ztd&qi6(-8aB96kpSf!eE)J@dUI>DGYDpbqti6Y;eve6t@g>`b|8DDhvEA;@?S;iC? z9j~jcZfwQbVX9rtbORT)$5#DmE{?sGy0G=IC_it17#t9{*_VPHlRj@lgJDF5wKy8Q zaVZQ#PYWTgfEEx&z~?iJ4#SYrpx^Msg`p7|6qA~9cJrQE;CO>59HdwO!##+-dIw5Iph=TE!|aoeQ& zpl|2g&0pBv{1tPDAW`4>TF%$$dp%;`818Cpn>ckkaptRW`;M1B`e3BG#hwq3_O6Iu zpIZ@`yZ8KqbDzJw^M(EGAO7ZD?Cn7{~wTw8@e*ZITtc+FI6|XqzS3xJlYHsjarOb1TlZrR`)`nKxNeGKZag z@#TZ-YKJe|goWc5r^pl$85;TNTIr-UsS_eDg6g8^7A@+Uh-^(zW!p`YaN#=(NO%FknC4c=&9<75_2Q#QxDx%F~m&rg(73!Y#g=KV$ z9*IGH>AH8YM*@+fz*+k9x<9qNSbA!Hi92AA3pk~JqycbmzF3|F9+ zXrhTut(W1Gk24;&s?j~LSoUl!x+-FfE}7`1*32rGt)A_u^dch#LL`eKeb`0@S%_xN zaM*CnaMEzUp+gFk$h+{g;TmjdVGWbGk9^EQijNnP6MH{l} z9Z#fv+FU(=*Yp22&63#E4UgrTa8{Na)$i@Eta%Rzb<1akrWY5Uadu8EEG?IoS4vBT zk{WCntsgl&=ctbxo~zjYlQM*^uR}guJihn*jm!z>uhmZU^R5b z*YAQ59ZhOm@NCpB*a!2Doh$ZcoNU&1oK!O1YiEkNxlA@!$QA8Wu`iV`^r%0A?LENe zeJ@^zcw|DqrAgW>KcQKDC2LJz0(~L6X%{$lp;0{$3J1S^bM5=!=dbNLmw*4x+}^7< z)sfI>swVz)s3z*QuM7?R`lG+KVkIYl)smyOVBfXu~f1Bt)CDitt IDBGL<1IPK*YybcN diff --git a/bin/Debug/net9.0/strings_1.pdb b/bin/Debug/net9.0/strings_1.pdb index ea7a1233d09e39348540cbd798ccfab0090bd799..bdd982a2623cff3e422540b879fc0095e2b00bce 100644 GIT binary patch delta 813 zcmYjPO-NKx6#mYg*W`?ve>jvOPL6}~v;r9-400kHCQVQh11BiQ=M+z;_hROy6y=Ok zZBt)GM48dwEDFPjC<>Gc3L#SDJuahZH^|O8$-ILcWauNPA82sNo357rCX=; zjHYAM)DkHjnrUQABVkxNhLP4SGi{jmbMo1rXxxAC@bAw(mtF?@6YrNj@o3xGN87~_ zb@f}-$MA*X#Xm1>LwxZcrRJ{-k2@P?=dXT0albY?rB5wK=k9&DUUOyTS<{`ulVR6t zkml_{Ra43Y-1bvdwSTHJRRwzRi}F>Jucf?7`Butz+A~eM+sh3RS(}<`vn@O}I^ZX4 zP(}nILN7)GZ-Ib<^~haQunm(b1-Vy9DmVrbr#)0j^|X^BU>y{X5IllkPceJ~VP&L* zsh1loxb1PmCJ|I*8NY#ZaRr+Z<5$Lo94^{QZSacS3c`Y?-zs?Iir}D=9vqVsS5Q{M WBVeVH%E(8#C7OW9t%`{uAK@=DBA3_z delta 450 zcmZpPTo5)vrQU;qfk8PSB?(9|90B4hAbuSK!wg0S1``lFxTGjEFTEJZWH%J;!*`HLu+fRkUnjQkRu(^ve zF>nIqfouk01_n6>kUo&1AOUe8<^^Jq7>Lg_@u<8YNRkq}!SsXx;iGdGDGBZd4Nsw%e2FMNtprJ(?>OgTXMs=Vo z<})V%MLvMcEly6&DM@4~DatQPWGK!rF3Bt@%`8sNoE*j^H@TRpUg1{uvfU5geax5S zUdrJX+GZ%E^zBLC>B+8VYprIe@94CeEW~_A!RwFc!z@9A=tXO#y5~(@yl~!=mJdap zN3Q4CC4Zd9o?)<=kL9~6;rZq|U4de39j4SvUS4c3fP+?qQ a!nne9vbA<58wVqUI}^j?Rob#Z=K}z2k!WrJ diff --git a/obj/Debug/net9.0/ref/strings_1.dll b/obj/Debug/net9.0/ref/strings_1.dll index 719cf541e80bd3708b2b21e99d3ea06d9baded7a..1a544cfab815f89da56439c48bbf4297af150481 100644 GIT binary patch delta 194 zcmZqBY0#O_!Sd70YvsnC5@vz+z8Got#|e&e?9CQb>{$3|vmncR#?Aj(r?Oy3OQWd? M8PYbV3(jN#02aXl!a=mS&l1W?`9ZnPy;=W^R;}Y_fR@cMGe(0Yfr_ z0YeHy5{$3|vmncR#?Aj(r?Oy3OQWd? M8PYbV3(jN#02aXl!a=mS&l1W?`9ZnPy;=W^R;}Y_fR@cMGe(0Yfr_ z0YeHy567@N^yXslabDsBk-}9bx z-}~Nlhtr2M#~<%{@7=AZurj_w7lI-UG*K|>;??P;*LH@l1GX!B3vkA})EN!k1B7TB zbWGcw@*4Xtk@PoGiE}pD$3#l3vfmbKMZ5j2NW_>^jWJFMFFs8GHv|Den^U)Y8q)Tp z^oXDA9rB@259Q6AsasRK?QdmUXe8MH1d#No*h_MY=&*;hn1H=YTdV=mw1xunXg~xl z;qsFb^GRNYJ0iq@UTWnM^u^4iml=Gqth3JeVtJR8T(VFnAzy5-!+fz>*JZgR=aM;+ z8gwSw=Sugwmw5Nty zzAC;MmOjuDl%)=Oo^Ixg4Yh<*0T}+~Q}DOWg#E@d`M*3-PsDTWg;XbetusMGms;rx z#-Eagexh}z6eDkh-Z~QiJ#ku5Z^V1;=f0?(LPYQGlF3er=)P&{mYamrKlTq=`_Nel zBpwDXXA6vRCZ?+8d~vSAo59k7QKjve!mEBjb!p<}9pj^1-=Y1eJ>+StsdoQE^r5BR zmApSYmCeG*z2K<`bMiTzQK1c^N|7s^dIU>3ClpBxW4^ z4T?88{8eDYX#zK@@E;qUMN05C4gg6@pcEp)YVm@3V1Dbp+;D| z*pOpQ#+AN=iabgCX7wzzhWJntR^6(hUv|?xzv6t#aZV@dp;zNY`aW>1qiyGSaJ>#| z_r|)5+Cvk||bgacLJSf)lm{)jE6mJmM;4@+ZUlLPTMQtV1afIJQiFh9tL_0E=M%f=0e59@cewXXl*N%?>8A>*)Qmuf+MA3b!Efy7rH5Y<3%fbaC^?) zXmo9uTG(4pjJa%e&qTI3SKWu{a_NA%b*faU=Bo?&%4~im??hf5TCn#SqnYVa{bL#~ zS|f$5S;lBKXD$?~<3+~ImkK72uSblTMXQi4W4bg^TFlyKjf2bU{Kur&WnTzfX@4AO ztd&qi6(-8aB96kpSf!eE)J@dUI>DGYDpbqti6Y;eve6t@g>`b|8DDhvEA;@?S;iC? z9j~jcZfwQbVX9rtbORT)$5#DmE{?sGy0G=IC_it17#t9{*_VPHlRj@lgJDF5wKy8Q zaVZQ#PYWTgfEEx&z~?iJ4#SYrpx^Msg`p7|6qA~9cJrQE;CO>59HdwO!##+-dIw5Iph=TE!|aoeQ& zpl|2g&0pBv{1tPDAW`4>TF%$$dp%;`818Cpn>ckkaptRW`;M1B`e3BG#hwq3_O6Iu zpIZ@`yZ8KqbDzJw^M(EGAO7ZD?Cn7{~wTw8@e*ZITtc+FI6|XqzS3xJlYHsjarOb1TlZrR`)`nKxNeGKZag z@#TZ-YKJe|goWc5r^pl$85;TNTIr-UsS_eDg6g8^7A@+Uh-^(zW!p`YaN#=(NO%FknC4c=&9<75_2Q#QxDx%F~m&rg(73!Y#g=KV$ z9*IGH>AH8YM*@+fz*+k9x<9qNSbA!Hi92AA3pk~JqycbmzF3|F9+ zXrhTut(W1Gk24;&s?j~LSoUl!x+-FfE}7`1*32rGt)A_u^dch#LL`eKeb`0@S%_xN zaM*CnaMEzUp+gFk$h+{g;TmjdVGWbGk9^EQijNnP6MH{l} z9Z#fv+FU(=*Yp22&63#E4UgrTa8{Na)$i@Eta%Rzb<1akrWY5Uadu8EEG?IoS4vBT zk{WCntsgl&=ctbxo~zjYlQM*^uR}guJihn*jm!z>uhmZU^R5b z*YAQ59ZhOm@NCpB*a!2Doh$ZcoNU&1oK!O1YiEkNxlA@!$QA8Wu`iV`^r%0A?LENe zeJ@^zcw|DqrAgW>KcQKDC2LJz0(~L6X%{$lp;0{$3J1S^bM5=!=dbNLmw*4x+}^7< z)sfI>swVz)s3z*QuM7?R`lG+KVkIYl)smyOVBfXu~f1Bt)CDitt IDBGL<1IPK*YybcN diff --git a/obj/Debug/net9.0/strings_1.pdb b/obj/Debug/net9.0/strings_1.pdb index ea7a1233d09e39348540cbd798ccfab0090bd799..bdd982a2623cff3e422540b879fc0095e2b00bce 100644 GIT binary patch delta 813 zcmYjPO-NKx6#mYg*W`?ve>jvOPL6}~v;r9-400kHCQVQh11BiQ=M+z;_hROy6y=Ok zZBt)GM48dwEDFPjC<>Gc3L#SDJuahZH^|O8$-ILcWauNPA82sNo357rCX=; zjHYAM)DkHjnrUQABVkxNhLP4SGi{jmbMo1rXxxAC@bAw(mtF?@6YrNj@o3xGN87~_ zb@f}-$MA*X#Xm1>LwxZcrRJ{-k2@P?=dXT0albY?rB5wK=k9&DUUOyTS<{`ulVR6t zkml_{Ra43Y-1bvdwSTHJRRwzRi}F>Jucf?7`Butz+A~eM+sh3RS(}<`vn@O}I^ZX4 zP(}nILN7)GZ-Ib<^~haQunm(b1-Vy9DmVrbr#)0j^|X^BU>y{X5IllkPceJ~VP&L* zsh1loxb1PmCJ|I*8NY#ZaRr+Z<5$Lo94^{QZSacS3c`Y?-zs?Iir}D=9vqVsS5Q{M WBVeVH%E(8#C7OW9t%`{uAK@=DBA3_z delta 450 zcmZpPTo5)vrQU;qfk8PSB?(9|90B4hAbuSK!wg0S1``lFxTGjEFTEJZWH%J;!*`HLu+fRkUnjQkRu(^ve zF>nIqfouk01_n6>kUo&1AOUe8<^^Jq7>Lg_@u<8YNRkq}!SsXx;iGdGDGBZd4Nsw%e2FMNtprJ(?>OgTXMs=Vo z<})V%MLvMcEly6&DM@4~DatQPWGK!rF3Bt@%`8sNoE*j^H@TRpUg1{uvfU5geax5S zUdrJX+GZ%E^zBLC>B+8VYprIe@94CeEW~_A!RwFc!z@9A=tXO#y5~(@yl~!=mJdap zN3Q4CC4Zd9o?)<=kL9~6;rZq|U4de39j4SvUS4c3fP+?qQ a!nne9vbA<58wVqUI}^j?Rob#Z=K}z2k!WrJ