Добавить лишние «пробелы» между словами так, чтобы длина строки стала кратна 60 - C#
Формулировка задачи:
Текст некоторой строки вводится в режиме диалога и содержит простое предложение, в котором слова отделяются символом «пробел». Добавить лишние «пробелы» между словами так, чтобы длина строки стала кратна 60, а «пробелы» распределились по строке равномерно.
Решение задачи: «Добавить лишние «пробелы» между словами так, чтобы длина строки стала кратна 60»
textual
Листинг программы
public static string to60(string s)
{
if (s.Length % 60 == 0) return s;
else
{
string[] str = s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
str = str.Select(n => n + " ").ToArray();
int l = 60 - str.Select(n => n.Length).Sum() % 60;
for (int i = 0; ; i++)
if (i == str.Length) i = -1;
else if (l > 0) { str[i] += " "; --l; }
else break;
return string.Join("", str);
}
}