Дан текстовый файл. Выровнять текст по ширине (то есть и по левому, и по правому краю) - C#
Формулировка задачи:
Помогите пожалуйста с задачей
Дан текстовый файл, содержащий текст, выровненный по левому краю. Абзацы текста разделяются одной пустой строкой. Выровнять текст по ширине (то есть и по левому, и по правому краю), увеличив в каждой непустой строке (кроме последних строк абзацев) количество пробелов между словами, начиная с первого/последнего пробела в строке (ширину текста считать равной 50).
Решение задачи: «Дан текстовый файл. Выровнять текст по ширине (то есть и по левому, и по правому краю)»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { StreamReader sr; StreamWriter sw ; try { sr = new StreamReader(File.Open("file.txt", FileMode.Open)); sw = new StreamWriter(File.Open("outFile.txt", FileMode.Create)); } catch (FileNotFoundException ex) { Console.WriteLine("File not found! " + ex.Message); return; } string line = sr.ReadLine(); while (!sr.EndOfStream) { string tmp1 = sr.ReadLine(); tmp1 = tmp1.Trim(' '); if (tmp1 == "") { sw.WriteLine(line + "\n"); line = sr.ReadLine(); line = line.Trim(' '); tmp1 = sr.ReadLine(); if (tmp1 == null) { sw.WriteLine(line + "\n"); break; } } while (line.Length < 50) for (int i = 0; i < line.Length; i++) { if (line[i] == ' ') { line = line.Insert(i++, " "); } if (line.Length == 50) break; } sw.WriteLine(line); line = tmp1; } sr.Close(); sw.Close(); Console.WriteLine("Done!"); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д