Loading...
vukata avatar vukata 0 Точки

Проблем със задача 2. Song Encryption от финалния изпит за Tech Module C# от декември 2018

Здравейте,

Прилагам решение на задачата, което съм направил и ми дава 70/100. Някой може ли да ми помогне и да ме насочи какво пропускам?Благодаря предварително.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace SongEncryption
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            while (input != "end")
            {
                if(Regex.Matches(input, @"[A-Z][a-z' ]+[:][A-Z ]+").Count==1 &&
                    Regex.Matches(input.Split(':')[0], @"[A-Z]").Count==1)
                {             
                    var encryptedInfo = Encrypt(input);
                    Console.WriteLine($"Successful encryption: {encryptedInfo}");
                }
                else
                {
                    Console.WriteLine($"Invalid input!");
                }
                input = Console.ReadLine();
            }
        }

        private static string Encrypt(string text)
        {
            int key = text.Split(':')[0].Length;
            StringBuilder inputAsSb = new StringBuilder();
            for (int i = 0; i < text.Length; i++)
            {
                inputAsSb.Append(text[i]);
            }
            for (int j = 0; j < inputAsSb.Length; j++)
            {
                if (inputAsSb[j] != ' ' && inputAsSb[j] != 39)                
                {
                    if (inputAsSb[j] == ':')
                    {
                        inputAsSb[j] = '@';
                    }
                    else
                    {
                        if (inputAsSb[j] >= 65 && inputAsSb[j] <= 90)
                        {
                            if (inputAsSb[j] + key > 90)
                            {
                                inputAsSb[j] = (char)(inputAsSb[j] + key - 26);
                            }
                            else
                            {
                                inputAsSb[j] = (char)(inputAsSb[j] + key);
                            }
                        }
                        if (inputAsSb[j] >= 97 && inputAsSb[j] <= 122)
                        {
                            if (inputAsSb[j] + key > 122)
                            {
                                inputAsSb[j] = (char)(inputAsSb[j] + key - 26);
                            }
                            else
                            {
                                inputAsSb[j] = (char)(inputAsSb[j] + key);
                            }
                        }
                    }
                }
            }
            return inputAsSb.ToString();
        }
    }
}

Тагове:
0
Programming Fundamentals 07/04/2019 12:04:57
Petya_koleva avatar Petya_koleva 104 Точки

Ето ти още един вариант на регекс ^(?<artist>[A-Z][a-z ']*)(?<dots>:)(?<song>[A-Z ]*)$"

-1
desireous avatar desireous 0 Точки

И аз имам проблем дава ми 90 точки а всичко изглежда да е наред.Може ли някой да помогне да си намеря грешката.

https://pastebin.com/vs5FTQ6E

Благодаря предварително!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.