Ohjelmointi 1, syksy 2024, luento21
Olin tällä sivulla luennon aikana Agorassa
Please
Please
Please
Please
Olin tällä sivulla luennon aikana Zoomissa
Olin tällä sivulla videon katsomisen aikana
Katson sivua etukäteen
- ottakaa laitteet mukaan (kannettava, tabletti, älykännykkä)
- Kalevalasta pitää selvittää kunkin säkeen kolme 1. vokaalia
- Siirra.cs - luennolle tehty versio, jossa InSitu -kysymykset
- Siirra.cs - luennolla tehty versio, jossa jossa pelkkä vastaus
- Luennolle tehdyt koodit versionhallinnassa -
- Luennon koodit versionhallinnassa
- 21. luento videona: Osa 1 MP4 alkuperäinen (jätän tähän v 2023 luennon, koska siinä verkko ei pätkinyt)
- luentoseinä
Videokatsoja: katso videota ja vastaile alla oleviin kysymyksiin ja tee ohjelmaa samalla kertaa. Koodinpätkiä voit kopioida alhaalla olevan koodin luota.
Aloita kopioimalla sivun lopussa oleva pohjakoodi Riderin projektiin. Avaa koodileikkeet toiseen selaimen ikkunaan ja sitten käynnistä video ja etene kysymysten tahtiin. Alä "lunttaa" :-)
Määrät
StringBuilder jono = StringBuilder("Mieleni minun tekevi, aivoni ajattelevi");
public static string SiirraKirjaimet(StringBuilder jono, string siirrettavat, int maxMaara)
{
return "";
}
/// <summary>
/// Poistetaan jonosta korkeintaan maxMaara kappaletta joukon siirrettavat kirjaimia.
/// </summary>
/// <param name="jono">mistä poistetaan</param>
/// <param name="siirrettavat">mitä kirjaimia siirretään</param>
/// <param name="maxMaara">montako korkeintaan poistetaan</param>
/// <returns>siirretyt merkit</returns>
/// StringBuilder jono = new StringBuilder("kissa istuu"); /// SiirraKirjaimet(jono,"",1) === ""; jono =S= "kissa istuu"; /// SiirraKirjaimet(jono,"xyz",1) === ""; jono =S= "kissa istuu"; /// SiirraKirjaimet(jono,"aus",0) === ""; jono =S= "kissa istuu"; /// SiirraKirjaimet(jono,"i",1) === "i"; jono =S= "kssa istuu"; /// SiirraKirjaimet(jono,"s",2) === "ss"; jono =S= "ka istuu"; /// SiirraKirjaimet(jono,"aus",3) === "asu"; jono =S= "k itu"; /// SiirraKirjaimet(jono,"iu",3) === "iu"; jono =S= "k t"; /// SiirraKirjaimet(jono," ",1) === " "; jono =S= "kt"; /// SiirraKirjaimet(jono,"kt",5) === "kt"; jono =S= ""; /// SiirraKirjaimet(jono,"kt",5) === ""; jono =S= ""; //////
Lisää viesti
⁞
using System;
using System.Text;
/// @author vesal
/// @version 11.11.2024
/// <summary>
///
/// </summary>
public class Siirra
{
/// <summary>
/// Kokeillaan toimivuutta
/// </summary>
public static void Main()
{
StringBuilder jono = new StringBuilder("Mieleni minun tekevi, aivoni ajattelevi");
string vokaalit = "aeiouyåäö";
int maara = 3;
string jonon3EnsimmaistaVokaalia = SiirraKirjaimet(jono,vokaalit,maara);
Console.WriteLine("Jono: " + jono); // Mlni minun tekevi, aivoni ajattelevi
Console.WriteLine("3 vok: " + jonon3EnsimmaistaVokaalia); // iee
}
/// <summary>
/// Poistetaan jonosta korkeintaan maxMaara kappaletta joukon siirrettavat kirjaimia.
/// </summary>
/// <param name="jono">mistä poistetaan</param>
/// <param name="siirrettavat">mitä kirjaimia siirretään</param>
/// <param name="maxMaara">montako korkeintaan poistetaan</param>
/// <returns>siirretyt merkit</returns>
/// <example>
/// <pre name="test">
/// StringBuilder jono = new StringBuilder("kissa istuu");
/// SiirraKirjaimet(jono,"",1) === ""; jono =S= "kissa istuu";
/// SiirraKirjaimet(jono,"xyz",1) === ""; jono =S= "kissa istuu";
/// SiirraKirjaimet(jono,"aus",0) === ""; jono =S= "kissa istuu";
/// SiirraKirjaimet(jono,"i",1) === "i"; jono =S= "kssa istuu";
/// SiirraKirjaimet(jono,"s",2) === "ss"; jono =S= "ka istuu";
/// SiirraKirjaimet(jono,"aus",3) === "asu"; jono =S= "k itu";
/// SiirraKirjaimet(jono,"iu",3) === "iu"; jono =S= "k t";
/// SiirraKirjaimet(jono," ",1) === " "; jono =S= "kt";
/// SiirraKirjaimet(jono,"kt",5) === "kt"; jono =S= "";
/// SiirraKirjaimet(jono,"kt",5) === ""; jono =S= "";
/// </pre>
/// </example>
public static string SiirraKirjaimet(StringBuilder jono, string siirrettavat, int maxMaara)
{
StringBuilder tulos = new StringBuilder();
int i = 0;
while (i < jono.Length && tulos.Length < maxMaara)
{
char merkki = jono[i];
if (siirrettavat.IndexOf(merkki) >= 0)
{
jono.Remove(i, 1);
tulos.Append(merkki);
}
else i++;
}
return tulos.ToString();
}
}
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.