Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 34
1

Подсчет суммы чисел в текстовом файле

11.12.2013, 15:44. Показов 2789. Ответов 6
Метки нет (Все метки)

Допустим, содержание текстового файла:
Иванов Иван 4391-21
Вариант 1
2
0
5
0
2
12
1
2
3
4
0
[и так далее. всего 20 чисел в столбце) ]потом опять:
Геннадьев Гена 251-65
Вариант 2
[и опять 20 чисел]

Мне нужно подсчитать сумму этих 20 чисел и записать ее после них в текстовом файле.
Помогите, пожалуйста.

Добавлено через 34 секунды
Чтобы постоянно считалось у каждого студента.
0
Заказывайте контрольные, курсовые и дипломы здесь.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2013, 15:44
Ответы с готовыми решениями:

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

Подсчет числа слов в текстовом файле
Доброго времени суток. подстажите пожалуйста как можно подсчитать слова в тексте? для подсчета...

Подсчёт суммы чисел в текстовом файле
В одном файле в первой строке записано число n, а во второй через пробел n целых чисел. Прочитать...

Подсчет количества вещественных чисел и целых чисел в текстовом файле
Подсчет количества вещественных чисел и целых чисел в текстовом файле. Вещественные и целые числа...

6
168 / 131 / 29
Регистрация: 16.02.2013
Сообщений: 867
11.12.2013, 15:55 2
в чем проблема? Читаете строки с числом, конвертируете в int, и суммируете
0
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 34
11.12.2013, 15:56  [ТС] 3
Числа встречаются в каждой строке. А мне не надо чтобы в каждой.
0
168 / 131 / 29
Регистрация: 16.02.2013
Сообщений: 867
11.12.2013, 16:07 4
Бараш, ну я понял. Regex в помощь - http://msdn.microsoft.com/ru-r... .110).aspx
0
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 34
11.12.2013, 16:49  [ТС] 5
C#
1
Regex r = new Regex(____);
Подскажите, пожалуйста, что в скобках написать?

Добавлено через 23 минуты
Никто не знает как это реализовать чтоли?
0
47 / 47 / 22
Регистрация: 18.11.2013
Сообщений: 92
11.12.2013, 18:34 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
    // паттерн для строки перед нашими числами
    String pattern = @"(Вариант)(\s*)([0-9]*)";
            
    // паттерн строк с числами
    String pattern2 = @"^[0-9]*$";
            
    // текущая срочка
    String currStr = null;
            
    // сумма
    Int32 amount = 0;
            
    // 2 файловых потока для ридера и врайтера, ну собственно если нужно в тот же файл пишите в
    // какой нибудь буфферный String а потом переписывайте исходный файл, или как нибудь еще
    using (FileStream fsr = new FileStream("D:/1.txt", FileMode.Open, FileAccess.Read))
    using (StreamReader sr = new StreamReader(fsr, Encoding.Default))
    using (FileStream fsw = new FileStream("D:/2.txt", FileMode.OpenOrCreate, FileAccess.Write))
    using (StreamWriter sw = new StreamWriter(fsw, Encoding.Default))
    {
        //пока не кончился поток
        while (!sr.EndOfStream)
        {
            // читаем текущую строчку
            currStr = sr.ReadLine();
            // если она "вариант №"
            if (Regex.IsMatch(currStr, pattern))
            {
                // пишем ее, а дальше в цикле считываем цифры
                sw.WriteLine(currStr);
                // ну тут мне было влом сделать файл с 20 строчками, поэтому так, а вообще 
                // если вы уверены что там всегд 20 строчек то можно че нить типа while (--count != 0)
                // и нафиг не нужны все ниженаписанные проверки возможно
                while (true)
                {
                    // если нулл, регекс ругнется, но это значит что дальше цифр нету
                    if (String.IsNullOrEmpty(currStr = sr.ReadLine()))
                        break;
                    // если считанная текущая строчка не является цифрами - тоже значит конец
                    if (!Regex.IsMatch(currStr, pattern2))
                        break;
                    // складываем
                    amount += Int32.Parse(currStr);
                    // и записываем то что считано собственно
                    sw.WriteLine(currStr);
                }
 
                // когда цифры кончились записываем записываем сумму
                sw.WriteLine(String.Format("Всего баллов: {0}", amount));
                // ну и в случае если там в файле дальше че то есть, его тоже записываем ибо в цикле
                // уже было произведено считывание этой строчки
                sw.WriteLine(currStr);
                //обнуляем сумму
                amount = 0;
            }
            else //а если строчка не "вариант" просто записываем
                sw.WriteLine(currStr);
        }
    }
1
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 34
11.12.2013, 19:16  [ТС] 7
Спасибо огромное.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2013, 19:16

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

Подсчёт суммы чисел в файле
Есть Файл, в котором может быть записана любая абракадабра. числом считается всё, что состоит из...

Подсчёт суммы чисел в файле
Есть Файл, в котором может быть записана любая абракадабра. числом считается всё, что состоит из...

Разработать и выполнить командный файл (КФ), выполняющий подсчет количества целых чисел в текстовом файле
Разработать и выполнить командный файл (КФ), выполняющий подсчет количества целых чисел в текстовом...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.