Перевод с 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();
}
}
}