Ohjelmointi 1, syksy 2024, luento21

# L21

21. luento: ma 11.11.2024 klo 12:15-14:00: Kertausta - Luentokyselyt

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

# kalevala3vok
    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

# Plugin1
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();
    }
}
# jono

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.