Перевести на C# программу вставки между словами пробелов

Узнай цену своей работы

Формулировка задачи:

Дана строка текста, в котором нет начальных и конечных пробелов. Необходимо изменить ее так, чтобы длина строки стала равна заданной длине (предполагается, что требуемая длина не меньше исходной). Это следует сделать путем вставки между словами дополнительных пробелов. Количество пробелов между отдельными словами должно отличаться не более чем на один.
Листинг программы
  1. #include <iostream>
  2. #include <string>
  3. void addWS(std::string& s, int reqLen){
  4. std::string::size_type ind=0;
  5. while(s.size()<reqLen&&(ind=s.find(' ', ind))!=std::string::npos){
  6. s.insert(ind, " ");
  7. while(s[ind]==' ')++ind;
  8. }
  9. if(s.size()<reqLen) addWS(s, reqLen);
  10. }
  11. int main(){
  12. std::string s="a b c d";
  13. int reqLen;
  14. std::cout<<"Input length (must be greater than "<<s.size()<<")\n";
  15. std::cin>>reqLen;
  16. addWS(s, reqLen);
  17. std::cout<<s<<"\n";
  18. }

Решение задачи: «Перевести на C# программу вставки между словами пробелов»

textual
Листинг программы
  1. public static void Main()
  2. {
  3.     var s = "a b c d";
  4.     Console.WriteLine("Input length (must be greater than " + s.Length);
  5.     int reqLen = int.Parse(Console.ReadLine());
  6.     s = AddWS(s, reqLen);
  7.     Console.WriteLine(s);
  8. }
  9.  
  10. private static string AddWS(string s, int reqLen)
  11. {
  12.     int ind = 0;
  13.     while (s.Length < reqLen && (ind = s.IndexOf(" ", ind, StringComparison.InvariantCulture)) != -1)
  14.     {
  15.         s = s.Insert(ind, " ");
  16.         while (s[ind] == ' ') ++ind;
  17.     }
  18.     if (s.Length < reqLen) return AddWS(s, reqLen);
  19.     return s;
  20. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы