Tee funktio nimeltä merkkilaskuri(). Funktio saa parametrina henkilön nimen ja palauttaa kokonaislukuna montako A -kirjainta nimessä on. Sekä isot että pienet kirjaimet lasketaan mukaan.
Osako joku auttaa?
Osako joku auttaa?
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 11
Vanhimmat
Et sanonut millä kielellä joten tässä ratkaisu minun suosikkikielellä Rust:
fn merkkilaskuri(nimi: &str) -> usize {
nimi.chars().filter(|&x| x == 'a' || x == 'A').count()
}
Tässä vielä toimiva koodi parilla esimerkillä:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=dc12476b73616d86e9a18da1fd162b14
Tässä funktiossa on muuten bugi. Kymmenen pistettä ja papukaijamerkki sille joka löytää bugin.
Olisko pitänyt olla näin:
fn merkkilaskuri(nimi: &str) -> usize {
nimi.chars().filter(|&x| x == 'a' || x == 'A').count()
}
fn main() {
merkkilaskuri("Satu Laakkonen");
}
Rust-koodia käyttävää muun muassa Firefox-selain. Onkohan tässä se syy Firefox-selaimen hitauteen. Kaikki Firefox pohjaiset selaimet ovat puolet hitaampia kuin Chromium-pohjaiset selaimet.
Kannattaako tehotonta Rust-koodia opetella?
Koska kieli oli vapaa, käytin sitä mitä parhaiden osaan. Tein BASH SHELL funktion.
FUNKTIO:
merkkilaskuri () {
tr -dc "$2" <<<"$1" | awk '{ print length; }'
}
KÄYTTÖ:
merkkilaskuri "Terve Tero" e
Visual Studio:
Private Function merkkilaskuri(s As String) As Integer
Return s.Length - s.ToUpper.Replace("A", "").Length
End Function
C#:
private int merkkilaskuri(string s)
{
return s.Length - s.ToUpper().Replace("A", "").Length;
}
C# toinen tapa:
private int merkkilaskuri(string s)
{
return s.ToUpper().Split("A").GetUpperBound(0);
}
Mulla on sama ongelma. Pitäis saada Javascriptillä koodattua tuo aloittajan funktio.
Kokeile tätä:
private final int merkkilaskuri(string s) {
return s.ToUpper().Split("A").GetUpperBound(0);
}
Uncaught SyntaxError: Unexpected identifier