Loading...
ambiorix avatar ambiorix 640 Точки

Здравей. Това което откривам на пръв поглед е че например когато имаш запетая в изречение, то тя се взима към текущата дума и ако преди нея има дума с повтаряща се буква то дължината ѝ се променя съответно:

Input: This is a random sentence, and this is another sentence.

Output: This is a random eeeeeeeee and this is another eeeeeeee.

Помисли върху това. Препоръчвам ти да ползваш решение с regex.

1
DVatkov avatar DVatkov 3 Точки

Благодаря за напътствията !

Оправих бъга и вече ми даде 100/100..)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace _02.Worm_Ipsum
{
    class Program
    {
        static void Main(string[] args)
        {
            var inputLine = Console.ReadLine();
           var result = new List<string>();
            while (inputLine != "Worm Ipsum")
            {
                var line = inputLine.Split(new[] {'.'},StringSplitOptions.RemoveEmptyEntries);
             
                if (line.Length==1)
                {
                    var lineValid = inputLine.Split(new[] {' ','.'}, StringSplitOptions.RemoveEmptyEntries);

                    foreach (var word in lineValid)
                    {
                       
                        var curentWord = "";
                        char curentChar;
                        var maxCounter = 0;
                        for (int i = 0; i < word.Length; i++)
                        {
                           
                            var counter = 0;
                            var index = word.IndexOf(word[i]);
                            while (index !=-1)
                            {
                                counter++;
                                index = word.IndexOf(word[i], index + 1);
                            }
                            if (counter>=2 && maxCounter < counter)
                            {
                                curentWord = string.Empty;
                                curentChar = word[i];
                                 maxCounter = counter;
                                if (word.IndexOf(",")== -1)
                                {
                                    for (int j = 0; j < word.Length; j++)
                                    {
                                        curentWord += curentChar;
                                    }
                                }
                                else
                                {
                                    for (int j = 0; j < word.Length-1; j++)
                                    {
                                        curentWord += curentChar;
                                    }
                                    curentWord += ",";
                                }
                               
                             
                            }
                           
                        }
                        if (curentWord !="")
                        {
                            result.Add(curentWord);
                        }
                        else
                        {
                            result.Add(word);
                        }
                       
                    }

                    Console.WriteLine(string.Join(" ",result)+".");
                }

                result.Clear();
                inputLine = Console.ReadLine();
            }
           
        }

       
    }
}

0
ambiorix avatar ambiorix 640 Точки

Супер. Чисто информативно слагам две решения с regex при интерес. Едното е близко до твоето.

 

https://dotnetfiddle.net/oXQZds - регекс + сравняване на всеки символ (по-близко до твоето)

 

https://github.com/stefkavasileva/SoftUni-Software-Engineering/blob/master/Programmin%20Fundamentals/OldExams/RetakeExam-30-April-2017/02.WormIpsum/WormIpsum.cs - предимно regex и LINQ

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