Дан текстовый файл. Выровнять текст по ширине (то есть и по левому, и по правому краю) - C#

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

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

Помогите пожалуйста с задачей Дан текстовый файл, содержащий текст, выровненный по левому краю. Абзацы текста разделяются одной пустой строкой. Выровнять текст по ширине (то есть и по левому, и по правому краю), увеличив в каждой непустой строке (кроме последних строк абзацев) количество пробелов между словами, начиная с первого/последнего пробела в строке (ширину текста считать равной 50).

Решение задачи: «Дан текстовый файл. Выровнять текст по ширине (то есть и по левому, и по правому краю)»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6.  
  7. namespace ConsoleApplication2
  8. {
  9.     class Program
  10.     {
  11.        
  12.         static void Main(string[] args)
  13.         {
  14.            
  15.             StreamReader sr;
  16.             StreamWriter sw ;
  17.             try
  18.             {
  19.                 sr = new StreamReader(File.Open("file.txt", FileMode.Open));
  20.                 sw = new StreamWriter(File.Open("outFile.txt", FileMode.Create));
  21.             }
  22.             catch (FileNotFoundException ex)
  23.             {
  24.                 Console.WriteLine("File not found! " + ex.Message);
  25.                 return;
  26.             }
  27.             string line = sr.ReadLine();
  28.             while (!sr.EndOfStream)
  29.             {
  30.                 string tmp1 = sr.ReadLine();
  31.                 tmp1 = tmp1.Trim(' ');
  32.  
  33.                 if (tmp1 == "")
  34.                 {
  35.                     sw.WriteLine(line + "\n");
  36.                     line = sr.ReadLine();
  37.                     line = line.Trim(' ');
  38.                     tmp1 = sr.ReadLine();
  39.                     if (tmp1 == null)
  40.                     {
  41.                         sw.WriteLine(line + "\n");
  42.                         break;
  43.                     }
  44.                 }
  45.                 while (line.Length < 50)
  46.                     for (int i = 0; i < line.Length; i++)
  47.                     {
  48.                         if (line[i] == ' ')
  49.                         {
  50.                             line = line.Insert(i++, " ");
  51.                         }
  52.                         if (line.Length == 50)
  53.                             break;
  54.                     }
  55.  
  56.                 sw.WriteLine(line);
  57.                 line = tmp1;
  58.             }
  59.             sr.Close();
  60.             sw.Close();
  61.             Console.WriteLine("Done!");
  62.             Console.ReadKey();
  63.         }
  64.  
  65.     }
  66. }

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


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

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

13   голосов , оценка 3.846 из 5

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

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

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