Помощ със задача от While-Loop - More Exercises C# Basic - задача 03. Stream Of Letters
Здравейте,
Бих искала да помоля за насоки и решение на задача Stream Of Letters: https://judge.softuni.org/Contests/Practice/Index/1684#2
Благодаря и поздрави,
Здравейте,
Бих искала да помоля за насоки и решение на задача Stream Of Letters: https://judge.softuni.org/Contests/Practice/Index/1684#2
Благодаря и поздрави,
Здравей ,
Ето едно много базово решение, което дава 100т. в Judge, но се нуждае от много рефакториране 
using System;
namespace _03.Stream_Of_Letters
{
public class Stream_Of_Letters
{
static void Main(string[] args)
{
string command = Console.ReadLine();
string result = string.Empty;
string occurence = string.Empty;
while (command != "End")
{
switch (command)
{
case "c":
if (occurence.IndexOf("c") < 0)
{
occurence += command;
if (occurence.Length == 3)
{
result += " ";
occurence = string.Empty;
}
}
else
{
result += command;
}
break;
case "o":
if (occurence.IndexOf("o") < 0)
{
occurence += command;
if (occurence.Length == 3)
{
result += " ";
occurence = string.Empty;
}
}
else
{
result += command;
}
break;
case "n":
if (occurence.IndexOf("n") < 0)
{
occurence += command;
if (occurence.Length == 3)
{
result += " ";
occurence = string.Empty;
}
}
else
{
result += command;
}
break;
default:
if (command.Length == 1
&& char.IsLetter(command[0])
&& command[0] >= 65
&& command[0] <= 122)
{
result += command[0];
}
break;
}
command = Console.ReadLine();
}
Console.WriteLine(result.Substring(0, result.LastIndexOf(" ") + 1));
}
}
}
Благодаря за варианта!
Ето го и моето простичко решение, което за съжаление дава - 60/100 в judge, тъй като сперед мен не мога да изляза от цикъла и греша в отпечатването...https://pastebin.com/Xseuyd8F
Eто, тук се изгбуих тотално:-)))
Трябва да извадиш отпечатването извън while-а и преди да отпечатваш да премахнеш символите от последния спейс нататък.
Това е твоя код за 100/100
Толкова благодаря!
Изведох отпечатването след while, но не разбрах как да премахна символите от последния спейс нататък и най-вече това:
Всеки string си има вградени методи.
В случая на string-a запазен в променливата word използваме 2 от тези метода word.Substring и word.LastIndexOf
word.Substring връща част от стринга word като се използва стартова позиция и дължина. В случая ни трябва да започне от 0 - първия индекс и да стигне до индекса на последния спейс, него понеже не го знаем кой е и затова използваме следващия вграден метод word.LastIndexOf(" "), който вече ни връща число за нужния ни краен индекс. Прибавяме единица към числото за крайния индекс за да ни даде Substring метода, включително и последния char от string-а , който е " "(може би не ни трябва, но в примерите беше даден).
И така например от текста "Hello there e" ще извадим на конзолата "Hello there ". Защото сме му казали да даде парче от началния текст като започне от индекса с 0 и да е с дължина 11 + 1

Може да прочетеш документация за .Substring ако искаш от тук String.Substring , за .LastIndexOf мисля че ще я откриеш пак там.
Успех
Здравейте и мерси още веднъж. Не съм стигнала още до методите:-) и ще ми е интересно да чета.
Според мен, се обръках в проверките и не мога да спра цикъла.