Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
2 / 2 / 1
Регистрация: 02.10.2013
Сообщений: 35
1

Переписать в новый файл все его строки, вставив в конец каждой строки количество символов в ней

22.12.2013, 18:11. Показов 6204. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание:
Дан текстовый файл. Переписать в новый файл все его строки, вставив в конец каждой строки количество символов в ней.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace quest
{
    class Program
    {
        static void Main(string[] args)
        {
            using (StreamWriter sw = File.CreateText("input.txt"))
            {
                sw.WriteLine(Console.ReadLine());
                sw.WriteLine(Console.ReadLine());
                sw.WriteLine(Console.ReadLine());
                sw.WriteLine(Console.ReadLine());
                sw.WriteLine(Console.ReadLine());
            }
            using (StreamReader sr = File.OpenText("input.txt"))
            {
                int count = 0;
                for (int i = 0; i < System.IO.File.ReadAllLines("input.txt").Length; i++)
                {
                    string s = sr.ReadLine();
                    char[] chars = s.ToCharArray();
                    if ([B][U](chars[i] == '.') && (chars[i] == '!') && (chars[i] == '?')[/U][/B]) { }
                    else
                    { count++; }
                }
                string path2 = @"C:\output.txt";
                FileInfo result = new FileInfo(path2);
                if (!result.Exists)
                {
                    using (StreamWriter sw = new StreamWriter("output.txt"))
                    {
                        sw.WriteLine(result + "" + count);
                    }
                }
            }
            Console.ReadKey(true);
        }
    }
}

Ругается на выход за границы массива (выделенная строка в коде). Также я более чем уверен, что код неправильный. Также вопрос, можно ли реализовать запись n количества строк в файл, если да, то как? И собственно как добавить тот самый count в конец каждой строки?
C#
1
sw.WriteLine(result + "" + count);
Написал от безысходности.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2013, 18:11
Ответы с готовыми решениями:

Переписать в новый файл все его строки, вставив в конец каждой строки количество символов в ней
Дан текстовый файл. Переписать в новый файл все его строки, вставив в конец каждой строки...

Переписать в новый файл output1.txt все его строки, вставив в конец каждой строки ее номер и количество символов в ней
Дан тектсовый файл input.txt. Необходимо:  переписать в новый файл output1.txt все его строки,...

Переписать в новый файл все строки файла, вставив в конец каждой строки ее номер
Дан текстовый файл. Переписать в новый файл все его строки, вставив в конец каждой строки ее номер...

Переписать в новый файл все строки исходного, вставив в конец каждой строки ее длину
Нужна срочная помощь Нужна программа которая будет делать такое: Для заданного текстового файла...

6
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.12.2013, 18:16 2
AlexandrGn, фигня какая-то понаписана. Зачем стримридер, а потом еще и File.ReadAllLines?
C#
1
2
3
4
5
6
7
8
9
using (StreamReader sr = File.OpenText("input.txt"))
using(var sw = new StreamWriter("output.txt")
{
   while(!sr.EndOfFile)
   {
      string s = sr.ReadLine();
      sw.WriteLine(s + " " + s.Length);
   }
}
1
2 / 2 / 1
Регистрация: 02.10.2013
Сообщений: 35
22.12.2013, 18:28  [ТС] 3
Psilon,

"System.IO.StreamReader" не содержит определения для "EndOfFile" и не был найден метод расширения "EndOfFile", принимающий тип "System.IO.StreamReader" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
И у вас еще скобочки не хватает , но это не беда, а вот с EndOfFile что мне сделать?
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.12.2013, 18:35 4
EndOfStream

Добавлено через 5 минут
как вариант
C#
1
2
3
4
5
6
7
using (StreamReader sr = File.OpenText("input.txt"))
using(var sw = new StreamWriter("output.txt")
{
   string s;
   while((s = sr.ReadLine()) != null)
      sw.WriteLine(s + " " + s.Length);   
}
1
2 / 2 / 1
Регистрация: 02.10.2013
Сообщений: 35
22.12.2013, 18:51  [ТС] 5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace lab6_4
{
    class Program
    {
        static void Main(string[] args)
        {
            using (StreamWriter sw = File.CreateText("input.txt"))
            {
                sw.WriteLine(Console.ReadLine());
                sw.WriteLine(Console.ReadLine());
                sw.WriteLine(Console.ReadLine());
                sw.WriteLine(Console.ReadLine());
                sw.WriteLine(Console.ReadLine());
            }
 
            using (StreamReader sr = File.OpenText("input.txt"))
                using(var sw = new StreamWriter("output.txt"))
                    {
                        while(!sr.EndOfStream)
                        {
                        string s = sr.ReadLine();
                        sw.WriteLine(s + " " + s.Length);
                        }
                    }
            Console.ReadKey(true);
        }
    }
}
Остался такой вот код, правда файлы не создаются, в чем проблема? Папку с *.exe проверял.
0
1 / 1 / 1
Регистрация: 22.12.2013
Сообщений: 27
22.12.2013, 19:16 6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Program
    {
        static void Main(string[] args)
        {
            using (StreamWriter sw = File.CreateText("input.txt"))
            {
                for (int i = 0; i < 5; i++)
                {
                    sw.WriteLine(Console.ReadLine());
                }
            }
 
            using (StreamReader sr = File.OpenText("input.txt"))
            using (StreamWriter sw = new StreamWriter("output.txt"))                
            {                    
                for (int i = 0; i < System.IO.File.ReadAllLines("input.txt").Length; i++)
                {
                    int count = 0;
                    string s = sr.ReadLine();
                    char[] chars = s.ToCharArray();
                    foreach (char ch in chars)
                    {
                        if ((ch == '.') || (ch == '!') || (ch == '?')) { }
                        else
                        { count++; }
                    }
                    sw.WriteLine(s + " " + count);
                }
            }
            
        }
    }
Насколько я понял - Вам это нужно. Выводим в файл все строки и пишем сколько в каждой строке символов без '.', '!' или '?'.

Пример output.txt
asdf/. 5
?? 0
df 2
ld//. 4
? 0
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.12.2013, 19:22 7
Завернин, ему нужна длина строки, а не число букв.

AlexandrGn, все он создает...
1
22.12.2013, 19:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2013, 19:22
Помогаю со студенческими работами здесь

Переписать текстовый файл в другой вставляя в конец каждой строки число-количество цифровых символов
Переписать текстовый файл в другой вставляя в конец каждой строки число-количество цифровых...

Переписать данные в новый файл, дополняя справа все его строки, меньшие по длине 80 символов
Решите пожалуйста! Дан текстовый файл. Переписать его содержимое в другой текстовый файл,...

Составное текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все цифры, входящие в него
Составное текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при...

Переписать все из файла А в файл В, перенося в конец каждой строки все входящие в нее знаки препинания
Переписать все из файла А в файл В, перенося при этом в конец каждой строки все входящие в нее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru