ulvis.paste.net

Paste Search Dynamic
Recent pastes
var6
  1. using system;
  2. using system.Collections.Generic;
  3. using system.Linq;
  4. using system.Text;
  5. using system.IO;
  6.  
  7. namespace var6
  8. {
  9.     //Входной файл содержит обычный текст – отрывок из некоторого литературного произведения.
  10.     //Выравнить текст по ширине, взяв за ширину текста максимальную длину строки.
  11.     //Выравнивание осуществляется путем вставки пробелов между словами.
  12.     //Результат записать в выходной файл. Символы пунктуации и регистр букв сохраняются.
  13.     class var6
  14.     {
  15.         static void Main(string[] args)
  16.         {
  17.             StreamReader input = new StreamReader("in6.txt");
  18.             StreamWriter output = new StreamWriter("out6.txt");
  19.             int max=0;
  20.             while (!input.EndOfStream)
  21.             {
  22.                 string str = input.ReadLine();
  23.                 if(str.Length>max)
  24.                     max = str.Length;
  25.             }
  26.             input.BaseStream.Position = 0;
  27.             while (!input.EndOfStream)
  28.             {
  29.                 string str = input.ReadLine();
  30.                 Console.WriteLine(str.Length);
  31.                 string[] words = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  32.                 str = str.Replace(" ", "");
  33.                 int ost = max - str.Length;//сколько не хватает в строке
  34.                 int sp = ost/ (words.Length-1);//сколько не хватает после слов
  35.                 int spOst = ost% (words.Length-1);//остаток распределяющийся
  36.                 for (int i = 0; i < words.Length-1; i++)
  37.                 {
  38.                     string s = "";
  39.                     for (int j = 0; j < sp; j++)
  40.                     {
  41.                         s += " ";
  42.                     }
  43.                     if (spOst != 0)
  44.                     {
  45.                         s += " ";
  46.                         spOst--;
  47.                     }
  48.                     output.Write(words[i] + s);
  49.                 }
  50.                 output.Write(words[words.Length-1]);
  51.                 output.WriteLine();
  52.             }
  53.             input.Close();
  54.             output.Close();
  55.         }
  56.     }
  57. }
Parsed in 0.015 seconds