Вставить пустую строку перед строкой файла с номером K - C# (183100)

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

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

Люди добрые, прога не работает. Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с таким номером нет, то оставить файл без изменений.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using System.IO;
  6. using System.Text;
  7. namespace ConsoleApplication15
  8. {
  9. class Program
  10. {
  11. static void Main()
  12. {
  13. string path = @"C:\temp\111.txt";
  14. int ok=0;
  15. int k = int.Parse(Console.ReadLine());
  16. int x = 0;
  17. int o=0;
  18. using (StreamReader sr = new StreamReader(path, Sys-tem.Text.Encoding.Default))
  19. {
  20. string line;
  21. while ((line = sr.ReadLine()) != null)
  22. {
  23. x = x + 1;
  24. }
  25. sr.Close();
  26. }
  27. string[] a = new string[x+1];
  28. using (StreamReader sr = new StreamReader(path, Sys-tem.Text.Encoding.Default))
  29. {
  30. string line;
  31. while ((line = sr.ReadLine()) != null)
  32. {
  33. a[o]=line;
  34. o = o+1;
  35. }
  36. sr.Close();
  37. }
  38. if (o < k)
  39. {
  40. ok = 1;
  41. goto Label1;
  42. }
  43. for (int i = 0; i < k; i += 1)
  44. if (a[k] != null)
  45. {
  46. for (int h = a.Length-1; h >= k; h -= 1)
  47. a[h] = a[h-1];
  48. a[k-1] = "";
  49. break;
  50. }
  51. using (StreamWriter sr = new StreamWriter(path, false, Sys-tem.Text.Encoding.Default))
  52. {
  53. for (int i = 0; i < a.Length; i += 1)
  54. sr.WriteLine(a[i]);
  55. sr.Close();
  56. }
  57. Label1:if(ok==1) Console.WriteLine("Такой строки не существует");
  58. }
  59. }
  60. }

Решение задачи: «Вставить пустую строку перед строкой файла с номером K»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace helpForum
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             int k = 2;
  15.             string path = @"D:\myFile.txt";
  16.             List<string> lines = File.ReadAllLines(path).ToList();
  17.  
  18.             if( k <= lines.Count)
  19.                lines.Insert(k - 1, "\n");
  20.        
  21.  
  22.             File.WriteAllLines(path, lines);
  23.  
  24.         }
  25.     }
  26.  
  27.    
  28. }

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


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

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

12   голосов , оценка 3.917 из 5

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

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

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