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

Считать файл и вывести на консоль, сколько раз встречался каждый символ

03.03.2015, 21:11. Показов 1655. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет !
Я умею считывать из файла текст и записывать его в другой файл или выводить на консоль.
Я считывал по символу, но не знаю, как правильно их запомнить, чтобы потом проверить и в конечном итоге вывести на консоль Console.WriteLine("{0} {1}", symbol, count).
Подскажите, кто знает.
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
    string pathSource = "text.txt";
    string pathNew = "text2.txt";
 
    try
    {
 
        using (FileStream fsSource = new FileStream(pathSource,
            FileMode.Open, FileAccess.Read))
        {
 
            // Read the source file into a byte array.
            byte[] bytes = new byte[fsSource.Length];
            int numBytesToRead = (int)fsSource.Length;
            int numBytesRead = 0;
            while (numBytesToRead > 0)
            {
                // Read may return anything from 0 to numBytesToRead.
                int n = fsSource.Read(bytes, numBytesRead, numBytesToRead);
 
                // Break when the end of the file is reached.
                if (n == 0)
                    break;
 
                numBytesRead += n;
                numBytesToRead -= n;
            }
             numBytesToRead = bytes.Length;
 
            // Write the byte array to the other FileStream.
            using (FileStream fsNew = new FileStream(pathNew,
                FileMode.Create, FileAccess.Write))
            {
                fsNew.Write(bytes, 0, numBytesToRead);
            }
        }
    }
    catch (FileNotFoundException ioEx)
    {
        Console.WriteLine(ioEx.Message);
    }
Добавлено через 57 минут
Уже решил сам

Добавлено через 8 минут
C#
1
2
3
4
5
6
7
8
9
10
11
            var d=new Dictionary<char,int>();
 
            foreach (char c in File.ReadAllText("text.txt", Encoding.Default))
                if (!Char.IsControl(c))
                    if (d.ContainsKey(c))
                        d[c]++;
                    else
                        d.Add(c, 1);
 
            foreach (var kp in d)
                Console.WriteLine("Символ: {0} встречается {1} раз", kp.Key, kp.Value);
Подскажите, что значит: считать файл, который принят в качестве параметра из командной строки ?
Как это реализовать ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2015, 21:11
Ответы с готовыми решениями:

Как посчитать сколько каждый номер изначально в первой таблице встречался раз?
Есть две таблицы, например телефоны, вторая -имена. Присоединяются друг к другу через Left join....

Заполнить матрицу случайными символами английского алфавита; вывести, сколько раз встречается каждый символ
Ребята, помогите решить задачу: Двумерный массив MxN заполнить случайными символами английского...

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

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

5
91 / 91 / 44
Регистрация: 20.04.2008
Сообщений: 331
03.03.2015, 21:16 2
Не вижу надобности в цикле
C#
1
int n = fsSource.Read(bytes, numBytesRead, numBytesToRead)
записывает все байты в массив bytes, оттуда и берите их, или не так понял, что требуется
0
38 / 38 / 30
Регистрация: 07.04.2014
Сообщений: 219
03.03.2015, 22:06  [ТС] 3
off, я уже разобрался там, я сейчас до конца не могу понять, как файл принять в качестве параметра из командной строки ?
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
04.03.2015, 00:56 4
Цитата Сообщение от Spiderman5 Посмотреть сообщение
Подскажите, кто знает.
Может так...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication5 {
    class Program {
        static void Main(string[] args) {
            string dataString = "jguvinnghHHyfhsbbrfna''hi mdhsyGGTECCnfh";
            var allGroups = dataString.GroupBy(s => (int)s).OrderBy(s => s.Key);
            foreach (var group in allGroups) {
                Console.WriteLine("Символ {0} встречается {1} раз", (char)group.Key, group.Count());
            }
            Console.ReadLine();
        }
    }
}
0
71 / 70 / 21
Регистрация: 04.04.2012
Сообщений: 351
04.03.2015, 02:15 5
Цитата Сообщение от Spiderman5 Посмотреть сообщение
Подскажите, что значит: считать файл, который принят в качестве параметра из командной строки ?
Как это реализовать ?
static void Main(string[] args)
args это и есть аргументы командной строки
args[0] - имя файла Вашей программы
остальные - как вызовите
пример:
открываем cmd и вводим c:\program.exe 1 2
в итоге массив args будет состоять из трёх элементов: 1.exe, 1, 2
1
38 / 38 / 30
Регистрация: 07.04.2014
Сообщений: 219
04.03.2015, 17:06  [ТС] 6
titavich, благодарю, я разобрался !
0
04.03.2015, 17:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2015, 17:06
Помогаю со студенческими работами здесь

Сколько раз в заданном тексте встречается каждый символ
выяснить, сколько раз в заданном тексте встречается каждый символ.

Определить, сколько раз каждый символ встречается в слове
Модернизировать программу var a,b,c: string; i,j: integer; begin write ('Введите текст');...

Определить, сколько раз каждый символ встречается в строке
Здравствуйте. Стоит задача определить, сколько раз каждый символ встречается в строке. В общем-то,...

Определить сколько раз встречается в тексте каждый символ
Создать программу с использованием одномерных массивов. Вводится последовательность символов,...


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

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