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

Вывести количество повторяющихся символов в строке

03.12.2013, 16:12. Просмотров 9179. Ответов 14
Метки нет (Все метки)

Привет всем форумчанам!)Работаю в Form Aplication и не могу сделать вот такую штуку,нужно считать с блокнота строки,и вывести количество повторяющихся символов введенное с клавиатуры!)...не прошу помочь с кодом,хотя бы подскажите алгоритм выполнения...))Буду благодарен...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2013, 16:12
Ответы с готовыми решениями:

Количество повторяющихся символов в строке
Всем привет! Прошу помочь с задачей: "Напишите функцию, которая будет возвращать количество...

В строке заменить последовательность повторяющихся символов на количество его повторений
Помогите, пожалуйста, написать код, я плохо понимаю, что от меня хотят в задаче. Задание:...

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

Вывести на экран количество букв в 5-й строке и количество строк в которых длина меньше 10 символов
Програма должна считывать с клавиатуры текстовые строки и записывать их в массив до тех пор, пока...

14
312 / 272 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
03.12.2013, 16:47 2
Цитата Сообщение от MrAdidas Посмотреть сообщение
нужно считать с блокнота строки
С какого блокнота? В каком состоянии?

Добавлено через 1 минуту
Цитата Сообщение от MrAdidas Посмотреть сообщение
и вывести количество повторяющихся символов введенное с клавиатуры
Повторяющихся из строк "блокнота". Когда вводят символы с клавиатуры? Вчера, позавчера, когда печатают в блокноте?
1
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 30
03.12.2013, 18:43  [ТС] 3
Да с блокнотом то я разобрался,можешьне заморачиваться!)Короче создаешь блокнот и там у тебя строки например саша даша маша,я ввожу с клавиатуры символ "а" и мне должно общее количество вывести в нашем случаи 6,или водишь символ "с" и выходит количество 1)Вот!)Я просто чуть не пойму как это сделать...)

Добавлено через 1 час 46 минут
Помогите пожалуйста!)
0
1226 / 1036 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
03.12.2013, 18:55 4
научитесь изъясняться уже понятно.
У вас должна быть программа, следящая за окном блокнота. В этой программе должно выводиться кол-во символов повторяющихся в окне блокнота? Так?
А если несколько окон блокнота открыто, за каким следить?
Это через вин апи делается, причём савсем не легко.
0
901 / 662 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
03.12.2013, 19:09 5
Цитата Сообщение от MrAdidas Посмотреть сообщение
Я просто чуть не пойму как это сделать
Это?
C#
1
2
3
4
5
6
7
           string path=@"C:\text.txt";
           string str = File.ReadAllText(path, Encoding.Default);
 
           char symbol;
           symbol = 'a';
 
           int count = str.Where(x => x == symbol).Count();
0
Памирыч
03.12.2013, 19:30
  #6

Не по теме:

Боюсь что автор под "блокнотом" подразумевает обычный текстовый файл.

0
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 30
04.12.2013, 16:31  [ТС] 7
Извиняюсь,что плохо объяснил вот задание
Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем введенное с клавиатуры слово
Помогите!
0
901 / 662 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
04.12.2013, 17:01 8
Цитата Сообщение от MrAdidas Посмотреть сообщение
Написать программу, которая считывает текст из файла и выводит его на экран
Где ваш код, хоть и не работающий?
Если ничего нет - начните с чего нибудь. Например, перенесите все строки из файла в массив строк.
0
10 / 10 / 0
Регистрация: 12.11.2011
Сообщений: 19
04.12.2013, 18:30 9
MrAdidas,
C#
1
2
3
4
5
6
7
8
9
10
 private void button1_Click(object sender, EventArgs e)
        {
            string inWord = textBox1.Text;
            char[] separators = { '.', '!', '?' };
            string[] sentences = File.ReadAllText(@"C:\file.txt", Encoding.Default).Split(separators, StringSplitOptions.RemoveEmptyEntries);
            label1.Text = "Результат:\n";
            foreach (string sentence in sentences)
                label1.Text += sentence + "Слово встретилось " 
                    + sentence.Split(' ').Where(a => a == inWord).Count() + " раз ";
        }
0
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 30
04.12.2013, 18:50  [ТС] 10
Мог бы ты объяснить где какие команды!)

Вот до куда я дошел сам
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.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace Лабораторная_6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox2.Text = "";
            int n = Convert.ToInt32(textBox3.Text);
            StreamReader sr = new StreamReader("text.txt");
            string s = "";
            while (!sr.EndOfStream)
            {
                s = sr.ReadLine();
                textBox1.Text = textBox1.Text + s + System.Environment.NewLine;
             
                for (int i = 0; i < n; i++)
                {
                    if
Добавлено через 55 секунд
А вот дальше как это совместить...как?!
0
901 / 662 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
05.12.2013, 08:11 11
Цитата Сообщение от MrAdidas Посмотреть сообщение
А вот дальше как это совместить...как?!
А зачем вам n ?

Вот простенький, в понимании, пример
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
        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = "";
 
            StreamReader sr = new StreamReader(@"D:\text.txt", Encoding.Default); 
           
            char[] separators = { ' ', '.',  ',',  '!',  '?' }; // опираясь на эти знаки будем разбивать предложение на слова
            while (!sr.EndOfStream)
            {
                // читаем строку, делаем все буквы строчными  ToLower()  и разбиваем предложения на слова Split(separators)
                string str = sr.ReadLine();
                string[] massWord = str.ToLower().Split(separators, StringSplitOptions.RemoveEmptyEntries); // получился массив слов  (StringSplitOptions.RemoveEmptyEntries удаляет пустые ячейки массива, если они будут)
 
                string enteredWord=textBox2.Text.ToLower(); // введенное слово и  превращенное в строчные буквы
 
                int count = 0; //счетчик совпадений
                
                foreach (string nextWord in massWord) // перебираем слова массива
                {
                    if (enteredWord == nextWord)
                        count++;
                }
 
             label1.Text+= str + "  -  " + count.ToString() + Environment.NewLine;
 
            }
 
            sr.Close();
        }
0
156 / 185 / 48
Регистрация: 25.11.2013
Сообщений: 978
05.12.2013, 08:22 12
Цитата Сообщение от Евгений В Посмотреть сообщение
Вот ... пример
Не понял, зачем автору парсить, если ему все равно?
OFF: А если N букв? Искать надо по маске...
0
5 / 5 / 2
Регистрация: 05.12.2013
Сообщений: 17
05.12.2013, 14:50 13
Попробуйте такое решение:
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
59
60
61
62
63
64
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
namespace ConsoleAppFindWord
{
    class Program
    {
        static void Main(string[] args)
        {
            
            while (true)
            {
               Console.Write("Введите слово для поиска (для выхода из программы нажмите 1): ");
               string pattern = Console.ReadLine();
 
               if(pattern == "1")
               {
                   break;
               }
 
                string sentences = string.Empty;
 
                if (File.Exists("textData.txt"))
                {
                    sentences = File.ReadAllText(@"textData.txt", Encoding.Default);
                }
 
                if(sentences.Length > 0)
                {
                char[] separators = { '.', '!', '?' };
                string[] mas =
                    sentences.ToLower().Split(separators, StringSplitOptions.RemoveEmptyEntries);
 
                var listMatches = new List<MatchCollection>();
 
                for (int i = 0; i < mas.Count(); i++)
                {
                    listMatches.Add(Regex.Matches
                        (mas[i], pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture));
                }
 
                Console.WriteLine();
 
                for (int i = 0; i < mas.Count() - 1; i++)
                {
                    Console.WriteLine(mas[i] + "\n(число повторений: " + listMatches[i].Count + ")");
                }
 
                Console.WriteLine();
                }
                else
                {
                    Console.WriteLine("Не удалось получить данные...");
                    Console.WriteLine();
                }
            }
          
        }
    }
}
0
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 30
05.12.2013, 20:04  [ТС] 14
Я делаю в FORM/ Ну просто есть один нюанс,что нужно с клавиатуры писать символ или слово и уже прога должна найти сколько совпадений в каждом предложении...((Вот я и мучаюсь...

Добавлено через 1 минуту
А так спасибо большое,кто откликнулся!
0
156 / 185 / 48
Регистрация: 25.11.2013
Сообщений: 978
05.12.2013, 20:53 15
Самый простой способ: загружай массив слов в DataTable, делай SELECT LIKE, обрабатывай результаты - уже готовый функционал.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2013, 20:53

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

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

В одномерном массиве символов найти количество повторяющихся последовательностей символов
В одномерном массиве символов найти количество повторяющихся последовательностей символов с длиной...

В одномерном массиве символов найти количество повторяющихся последовательностей символов
В одномерном массиве символов найти количество повторяющихся последовательностей символов с длиной...

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


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

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

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