Esempio n. 1
0
        /// <summary>
        /// Ordna talen i storleksordning, den minsta först
        /// </summary>
        /// <param name="num1">Första talet</param>
        /// <param name="num2">Andra talet</param>
        /// <returns>Ny sträng med bokstäverna blandade</returns>
        public (int num1, int num2) LessIsFirst(int num1, int num2)
        {
            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"LessIsFirst : {num1} & {num2}");
            return(num1, num2);
        }
Esempio n. 2
0
        /// <summary>
        /// Hitta ordet som har en angiven längd, använd gärna LinQ
        /// </summary>
        /// <param name="words">Texten som ska sorteras</param>
        /// <param name="length">Längden på ordet vi söker</param>
        /// <returns>Det utvalda ordet</returns>
        public string FindWord(int length, params string[] words)
        {
            string magicWord = "";

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"FindWord    : {magicWord}");
            return(magicWord);
        }
Esempio n. 3
0
        /// <summary>
        /// En klassiker, den byt plats på två variabler
        /// </summary>
        /// <param name="textA">Text som ska byta plats</param>
        /// <param name="textB">Text som ska byta plats</param>
        /// <returns>Texter som bytt plats</returns>
        public (string, string) Swap(string textA, string textB)
        {
            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------


            // ---------------------------------------------------------------------------------

            NiceDebug.DebugThis($"Swap        : {textA} <-> {textB}");
            return(textA, textB);
        }
Esempio n. 4
0
        /// <summary>
        /// Du får en serie med tal och du ska se om talserien är Leet (innehåller 1337)
        /// använd gärna LinQ
        /// </summary>
        /// <param name="numbers">Talen som ska kollas</param>
        /// <returns><see langword="true"/>om det är leet!</returns>
        public bool IsLeet(params int[] numbers)
        {
            bool isLeet = false;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"IsLeet      : {isLeet}");
            return(isLeet);
        }
Esempio n. 5
0
        /// <summary>
        /// Du kommer att få en array med strängar och en int med max
        /// antal strängar du ska slå ihop
        /// Om du har arrayen {"Hej","Hallå","Bye","Ciao"]
        /// max 2 --> HejHallå
        /// max 3 --> HejHallåGoodbye
        /// OBS: Om du får ett max värde som är längre än arrayen får programmet
        /// inte krascha!
        /// max 500 -> HejHallåByeCiao
        /// </summary>
        /// <param name="max">Max antal värden i arrayen som ska behandlas</param>
        /// <param name="input">En array med olika antal värden som ska bearbetas</param>
        /// <returns>Summan av alla tal i strängen.</returns>
        public string FörstaVärden(int max, params string[] input)
        {
            string retVal = "";

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis("Första     : " + retVal);
            return(retVal);
        }
Esempio n. 6
0
        /// <summary>
        /// Räkna ut summan av talen som skickas in, använd LinQ för detta
        /// </summary>
        /// <param name="numbers">Tal som skickas in</param>
        /// <returns>Summan</returns>
        public int LinQSum(params int[] numbers)
        {
            int sum = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Summa       : {sum}");
            return(sum);
        }
Esempio n. 7
0
        /// <summary>
        /// Du kommer att få en array med 3 rader och 3 tecken i var rad, och symbol för spelaren
        /// Det är spelplanen för luffarshack. Du kommer även att på coordinater
        /// för nästa drag som X gör.
        /// Spelaren vinner om tre av samma symbol ligger i rad, vertikalt, horizontellt eller diagonalt
        ///
        /// Planen kan se ut såhär
        ///
        ///  rows[0]="XOX
        ///  rows[1]=" OX"
        ///  rows[2]="X O"
        ///
        /// Om X vinner ska metoden returnera "X wins"
        /// Om O vinner ska metoden returnera "O wins"
        /// Om positionen som önskas är redan upptagen ska metoden returnera "error"
        /// Om avgjort ska metoden returnera "draw"
        /// Om inte alla rutor är fyllda och ingen har vunnit ska metoden returnera en "next move"
        ///
        /// </summary>
        /// <param name="rows">rader med spelplan</param>
        /// <param name="row"></param>
        /// <param name="col"></param>
        /// <param name="player">Spelarens symbol</param>
        /// <returns></returns>
        public string TicTacToe(string[] rows, int row, int col, char player)
        {
            var resultat = string.Empty;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"TicTacToe : {resultat}");
            return(resultat);
        }
Esempio n. 8
0
        /// <summary>
        /// The AntalDagar.
        /// </summary>
        /// <param name="start">Startdatum<see cref="DateTime"/>.</param>
        /// <param name="s**t">Slutdatum<see cref="DateTime"/>.</param>
        /// <returns>Antal dagar - <see cref="int"/>.</returns>
        public int AntalDagar(DateTime start, DateTime s**t)
        {
            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            int resultat = 0;

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Antal dagar : {resultat}");
            return(resultat);
        }
Esempio n. 9
0
        /// <summary>
        /// Den här metoden krypterar en textsträng enligt Caesarchiffer,
        /// enbart åäö, bokstäver, siffror, punkt, komma och mellanslag är godkända
        /// för input, övrigt ska ignoreras
        /// Nyckeln talar om hur många positioner en bokstav eller ett nummer ska flyttas
        /// nyckel:3 --> a=c, b=d, c=e.
        /// </summary>
        /// <param name="code">Text som ska krypteras.</param>
        /// <param name="key">Nyckel som ska användas till kryptering.</param>
        /// <returns>Krypterad sträng.</returns>
        public string Caesarchiffer(string code, int key)
        {
            string resultat = "";

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis("Caesar :" + resultat);
            return(resultat);
        }
Esempio n. 10
0
        /// <summary>
        /// Du får en lista med poäng från olika spelare, välj det lägsta värdet, använd LinQ för detta
        /// </summary>
        /// <param name="numbers">Tal som skickas in</param>
        /// <returns>Worst score!</returns>
        public int LinQWorstPlayer(params int[] numbers)
        {
            int worst = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Worst Score : {worst}");
            return(worst);
        }
Esempio n. 11
0
        /// <summary>
        /// Skriv ordet baklänges
        /// </summary>
        /// <param name="ord">Ordet som ska vändas på</param>
        /// <returns></returns>
        public string VändPåOrdet(string ord)
        {
            string retVal = "";

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Vänd Ordet : {retVal} ({ord})");
            return(retVal);
        }
Esempio n. 12
0
        /// <summary>
        /// Skapa en loop som går igenom alla siffror i en sträng
        /// och adderar dem, när den är klar ska den returnera
        /// summan, exempelvis "552" ska ge svaret "12" alla andra
        /// tecken ska ignoreras "54.3" ska bli 12.
        /// </summary>
        /// <param name="nummer">Sträng med nummeriska värden<see cref="string"/>.</param>
        /// <returns>Summan av alla tal i strängen.</returns>
        public int SummeraText(string nummer)
        {
            int summa = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis("Summa          : " + summa);
            return(summa);
        }
Esempio n. 13
0
        /// <summary>
        /// Du får ett värden till en loop, varje runda loopen kör ska du
        /// lägga till tecknet i variabeln "symbol" till en sträng.
        /// length talar om för dig hur lång loopen ska vara (0 till length)
        /// skip talar om hur ofta du ska skippa att lägga till symbolen i strängen
        /// (Om skip är två ska symbolen inte läggas till varannan varv i loopen)
        /// (Om skip är fem ska symbolen inte läggas till femte varv i loopen)
        /// </summary>
        /// <param name="length">Längden på din loop</param>
        /// <param name="skipEvery">Efter hur många steg ska den skippa</param>
        /// <param name="symbol">Symbolen som ska läggas till i strängen</param>
        /// <returns>Strängen som genererats</returns>
        public string ForSkip(int length, int skipEvery, char symbol)
        {
            string retVal = string.Empty;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis("ForSkip    : " + retVal);
            return(retVal);
        }
Esempio n. 14
0
        /// <summary>
        /// Du kommer att få ett obestämt antal tal som funktionen ska
        /// returnera medelvärde på
        /// (Linq Average räknas som fusk).
        /// </summary>
        /// <param name="tal">Alla tal som ska behandlas.</param>
        /// <returns>Medelvärdet av talen.</returns>
        public int Medelvärde(params int[] tal)
        {
            int medelvärde = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis("Medelvärdet är : " + medelvärde);
            return(medelvärde);
        }
Esempio n. 15
0
        /// <summary>
        /// Den här metoden ska ta trå strängar och addera dem
        /// varannan bokstav,
        /// Exempel: Katt,Hund = KHautntd.
        /// </summary>
        /// <param name="first">Första ordet<see cref="string"/>.</param>
        /// <param name="second">Andra ordet<see cref="string"/>.</param>
        /// <returns>Ny sträng med bokstäverna blandade.</returns>
        public string VarannanBokstav(string first, string second)
        {
            string resultat = "";

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Bokstäver   : {resultat}");
            return(resultat);
        }
Esempio n. 16
0
        /// <summary>
        /// Den här metoden lägger till x antal månader till det datumet som skickats in.
        /// </summary>
        /// <param name="date">The date<see cref="DateTime"/>.</param>
        /// <param name="month">The month<see cref="int"/>.</param>
        /// <returns>Det nya datumet.</returns>
        public DateTime LäggTillMånad(DateTime date, int month)
        {
            DateTime resultat = new DateTime();

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------

            NiceDebug.DebugThis($"Datum       : {resultat}");
            return(resultat);
        }
Esempio n. 17
0
        /// <summary>
        /// The AntalDagar.
        /// </summary>
        /// <param name="start">Startdatum<see cref="DateTime"/>.</param>
        /// <param name="s**t">Slutdatum<see cref="DateTime"/>.</param>
        /// <returns>Antal dagar - <see cref="int"/>.</returns>
        public int AntalDagar(DateTime start, DateTime s**t)
        {
            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            var dagar    = s**t - start;
            var resultat = dagar.Days;

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Antal dagar : {resultat}");
            return(resultat);
        }
Esempio n. 18
0
        /// <summary>
        /// Den här metoden lägger till x antal månader till det datumet som skickats in
        /// </summary>
        /// <returns>Det nya datumet</returns>
        public DateTime LäggTillMånad(DateTime date, int month)
        {
            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            var resultat = date.AddMonths(month);

            // ---------------------------------------------------------------------------------

            NiceDebug.DebugThis($"Datum       : {resultat}");
            return(resultat);
        }
Esempio n. 19
0
        /// <summary>
        /// Räkna ut medelvärdet av talen som skickas in, använd LinQ för detta
        /// </summary>
        /// <param name="numbers">Tal som skickas in</param>
        /// <returns>Summan</returns>
        public double LinQAvg(params int[] numbers)
        {
            double avg = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------


            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Average     : {avg}");
            return(avg);
        }
Esempio n. 20
0
        /// <summary>
        /// En lärare ska räkna ut statistik på sina elever och behöver en metod som
        /// räknar antal G och VG som klassen fått
        /// Varning: Läraren är slarvig och skriver betygen G,VG,VG,g,G,vG, Gv osv
        /// Varning2: Läraren är en smula slarvig med bokstavsordning så VG kan mycket väl bli GV
        ///           eller vara V
        /// </summary>
        /// <param name="betyg">Betygen som ska kontrolleras</param>
        /// <returns>Antal elever som fick G och antal som fick VG.</returns>
        public (int, int) EleversBetyg(params string[] betyg)
        {
            int gBetyg  = 0;
            int vgBetyg = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"G & VG     : {gBetyg} & {vgBetyg}");
            return(gBetyg, vgBetyg);
        }
Esempio n. 21
0
        /// <summary>
        /// Du får en lista med poäng från olika spelare, välj det högsta värdet, använd LinQ för detta
        /// </summary>
        /// <param name="numbers">Tal som skickas in</param>
        /// <returns>Hi score!</returns>
        public int LinQHiscore(params int[] numbers)
        {
            int max = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------


            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Highscore   : {max}");
            return(max);
        }
Esempio n. 22
0
        /// <summary>
        /// Sortera bokstäverna i ett ord som skickas in, använd gärna LinQ
        /// </summary>
        /// <param name="text">Texten som ska sorteras</param>
        /// <returns>Den sorteade texten</returns>
        public string SortText(string text)
        {
            string sortedText = "";

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------


            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"SortText    : {sortedText}");
            return(sortedText);
        }
Esempio n. 23
0
        /// <summary>
        /// Du kommer att få ett obestämt antal tal som funktionen ska
        /// returnera medelvärde på
        /// (Linq Average räknas som fusk).
        /// </summary>
        /// <param name="tal">Alla tal som ska behandlas</param>
        /// <returns>Medelvärdet av talen</returns>
        public int Medelvärde(params int[] tal)
        {
            int summa = 0;
            int res   = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------
            for (int i = 0; i < tal.Length; i++)
            {
                summa += tal[i];
            }
            res = summa / tal.Length;
            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis("Medelvärdet är : " + res);
            return(res);
        }
Esempio n. 24
0
        /// <summary>
        /// Den här metoden krypterar en textsträng enligt Caesarchiffer,
        /// enbart åäö, bokstäver, siffror, punkt, komma och mellanslag är godkända
        /// för input, övrigt ska ignoreras
        /// Nyckeln talar om hur många positioner en bokstav eller ett nummer ska flyttas
        /// nyckel:3 --> a=c, b=d, c=e
        /// </summary>
        /// <param name="code">Text som ska krypteras</param>
        /// <param name="key">Nyckel som ska användas till kryptering</param>
        /// <returns>Krypterad sträng</returns>
        public string Caesarchiffer(string code, int key)
        {
            string resultat = "";
            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------
            var chars = new StringBuilder();

            for (int i = 'a'; i <= 'z'; i++)
            {
                chars.Append((char)i);
            }
            chars.Append("åäö");
            chars.Append(chars.ToString().ToUpper());
            chars.Append("0123456789 .,");

            string allChars = chars.ToString();

            for (int i = 0; i < code.Length; i++)
            {
                var symbol = code[i];
                var pos    = allChars.IndexOf(symbol);
                if (pos >= 0)
                {
                    pos += key;
                    if (pos >= allChars.Length)
                    {
                        pos -= allChars.Length;
                    }
                    if (pos < 0)
                    {
                        pos += allChars.Length;
                    }

                    resultat += (char)allChars[pos];
                }
            }

            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis("Caesar :" + resultat);
            return(resultat);
        }
Esempio n. 25
0
        /// <summary>
        /// Skapa en loop som går igenom alla siffror i en sträng
        /// och adderar dem, när den är klar ska den returnera
        /// summan, exempelvis "552" ska ge svaret "12" alla andra
        /// tecken ska ignoreras "54.3" ska bli 12.
        /// </summary>
        /// <param name="nummer">Sträng med nummeriska värden<see cref="string"/>.</param>
        /// <returns>Summan av alla tal i strängen.</returns>
        public int SummeraText(string nummer)
        {
            int summa = 0;

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------
            for (int i = 0; i < nummer.Length; i++)
            {
                string ch = nummer.Substring(i, 1);
                if (int.TryParse(ch, out int n))
                {
                    summa += n;
                }
            }
            // ---------------------------------------------------------------------------------

            NiceDebug.DebugThis("Summa          : " + summa);
            return(summa);
        }
Esempio n. 26
0
        /// <summary>
        /// Den här metoden ska ta trå strängar och addera dem
        /// varannan bokstav,
        /// Exempel: Katt,Hund = KHautntd.
        /// </summary>
        /// <param name="first">Första ordet<see cref="string"/>.</param>
        /// <param name="second">Andra ordet<see cref="string"/>.</param>
        /// <returns>Ny sträng med bokstäverna blandade</returns>
        public string VarannanBokstav(string first, string second)
        {
            string resultat = "";

            // ---------------------------------------------------------------------------------
            // Skriv din kod nedan
            // ---------------------------------------------------------------------------------
            var max = first.Length < second.Length ? second.Length : first.Length;

            for (int i = 0; i < max; i++)
            {
                if (first.Length > i)
                {
                    resultat += first[i];
                }
                if (second.Length > i)
                {
                    resultat += second[i];
                }
            }
            // ---------------------------------------------------------------------------------
            NiceDebug.DebugThis($"Bokstäver   : {resultat}");
            return(resultat);
        }