Работа с текстом, перевод из C++ - C#

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

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

Написать программу, которая считывает с клавиатуры несколько строк текста и печатает таблицу, показывающую, сколько раз в тексте встречаются одинаковые слова.
#include <iostream>
#include <string>
#include <sstream>
#include <map>
 
int main(){
    std::string str;
    
    while ( std::cout << "String: " && std::getline(std::cin, str) && ! str.empty() ){
        std::istringstream ist(str);
        std::map<std::string, int> map;
        
        while ( ist >> str )
            map[str]++;
        
        for ( std::map<std::string, int>::const_iterator i = map.begin(); i != map.end(); ++i )
            std::cout << i->first << "\t" << i->second << std::endl;
    }
    
    return 0;
}
Примерно такой код, необязательно чтобы так повторялось. Да и в задании сказано, что будут несколько строк...

Решение задачи: «Работа с текстом, перевод из C++»

textual
Листинг программы
Dictionary<string, int> dict = new Dictionary<string, int>();
string line;
string[] words;
do
{
    line = Console.ReadLine();
    words = line.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries);
    foreach (string word in words)
    {
        if (dict.ContainsKey(word))
            dict[word]++;
        else
            dict.Add(word, 1);
    }
}
while (words.Length > 0); //цикл до ввода пустой строки
foreach (string key in dict.Keys)
{
    Console.WriteLine("Слово {0} встречается {1} раз(а)", key, dict[key]);
}

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


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

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

7   голосов , оценка 3.857 из 5