Перевод с C++ на C#. Вывод неповторяющихся слов

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

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

Не очень знаю си шарп,может кто помочь с этим? код на вывод не повторяющиеся слова.
#include <cstring>
#include <iostream>
 
int main()
{
    using namespace std;
 
    char str[256] = "";
    cin.getline(str, sizeof(str));
 
    const char* delim = " ,.:;?!\t";
    char* token[256] = {NULL};
    int n = 0;
 
    // разбиваем строку на слова
    token[n] = strtok(str, delim);
    while(token[n] != NULL)
    {
        ++n;
        token[n] = strtok(NULL, delim);
    }
 
    // удаляем повторы
    for(int i = 0; i < n - 1; ++i)
    {
        int src_idx = i + 1;
        int dest_idx = src_idx;
 
        while(src_idx < n)
        {
            if(strcmp(token[src_idx], token[i]) != 0)
            {
                token[dest_idx] = token[src_idx];
                ++dest_idx;
            }
            ++src_idx;
        }
 
        n = dest_idx;
    }
 
    // выводим результат
    for(int i = 0; i < n; ++i)
        cout << token[i] << '\n';
}
Заранее спасибо

Решение задачи: «Перевод с C++ на C#. Вывод неповторяющихся слов»

textual
Листинг программы
using System;
using System.Linq;
 
namespace Distinct
{
    class Program
    {
        static void Main(string[] args)
        {
            //Вводим строку
            Console.WriteLine("Введите строку:");
            string s = Console.ReadLine();
            // разбиваем строку на слова
            string[] words = s.Split(new char[] { ' ', ',', '?', '!', ':', ';', '.' }, StringSplitOptions.RemoveEmptyEntries);
            //удаляем повторы
            words = words.Distinct().ToArray();
            // выводим результат
            Console.WriteLine(string.Join("\n", words));
            Console.ReadKey();
        }
    }
}

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


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

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

15   голосов , оценка 4 из 5
Похожие ответы