Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.01.2019, 17:52   #21
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Как связаны все ваши рассуждения с задачей? Какие веса? Зачем слово сортировать?
Вам надо случайно выбрать слово, переставить в нем буквы и выдать, а потом сравнивать с введенным...
p51x вне форума
Старый 25.01.2019, 17:52   #22
Nikita2019
Пользователь
 
Регистрация: 25.01.2019
Сообщений: 26
По умолчанию

можно сделать просто на C#
Код:
var d = s.Where(c => s.Count(c2 => c2 == c) > 1).ToList();
Nikita2019 вне форума
Старый 25.01.2019, 17:55   #23
Nikita2019
Пользователь
 
Регистрация: 25.01.2019
Сообщений: 26
По умолчанию

Слово водится с клавиатуры после чего по данному слову ищется анаграммы и выдаётся всех список слов который имеют одинаковые буквы и размер длины остается точно такой же то есть без изменений например слово кот а его анаграмма ток сможете мне помочь ли как не могу понять пожалуйста прощу вас ?
Nikita2019 вне форума
Старый 25.01.2019, 17:57   #24
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Зачем? Это же не по условию. Так какое условие то задачи, что вы решаете?
p51x вне форума
Старый 25.01.2019, 17:59   #25
Nikita2019
Пользователь
 
Регистрация: 25.01.2019
Сообщений: 26
По умолчанию

Код:
using System;

//Задается словарь. Найти с помощью процедуры в нем все анаграммы (слова, составленные
//из одних и тех же букв).
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
public class T_less_symb_multiset
{
	//-------------------------------------------------------------------------
	public static bool functorMethod(string L, string R)
	{
		std::multiset< char > LL = new std::multiset< char >(L.GetEnumerator(), L.end());

		std::multiset< char > RR = new std::multiset< char >(R.GetEnumerator(), R.end());

		return LL < RR;
	}
	//-------------------------------------------------------------------------
}

public static class GlobalMembers
{
	///////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////
	static int Main()
	{
		std::ifstream ifile = new std::ifstream("i.txt");

		if (ifile == null)
		{
			Console.Write("Error!");
			Console.Write("\n");

			system("pause");
			Environment.Exit(0);
		}

		std::multiset< string, T_less_symb_multiset > anagrams = new std::multiset< string, T_less_symb_multiset >();

		std::copy(std::istream_iterator< string > (ifile), std::istream_iterator< string > (), std::inserter(anagrams, anagrams.begin()));

		if (anagrams.empty())
		{
			Console.Write("File is empty.");
			Console.Write("\n");
		}

		for (var L = anagrams.begin(), R = L; R != anagrams.end(); L = R)
		{
			R = anagrams.upper_bound(*L);
			var dist = std::distance(L, R);

			if (dist > 1)
			{
				Console.Write(dist);
				Console.Write(" anagrams:");
				Console.Write("\n");

				std::copy(L, R, std::ostream_iterator< string > (std::cout, "\t"));

				Console.Write("\n");
				Console.Write("\n");
			} //if
		} //for
	}
}
Nikita2019 вне форума
Старый 25.01.2019, 18:00   #26
Nikita2019
Пользователь
 
Регистрация: 25.01.2019
Сообщений: 26
По умолчанию

Как заставить код работать можете кто нибудь сможет помочь ? или скинуть теорий по Анаграммам
Nikita2019 вне форума
Старый 25.01.2019, 18:06   #27
Nikita2019
Пользователь
 
Регистрация: 25.01.2019
Сообщений: 26
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
 
namespace LabWork_1
{
    class Program
    {
        static void Main(string[] args)
        {
            var filePath = "c:\\1.txt";
 
            //читаем все слова в множество
            var words = new HashSet<string>();
            var regex = new Regex(@"\w+");
            foreach (var line in File.ReadLines(filePath))
            foreach (Match m in regex.Matches(line))
                words.Add(m.Value.ToLower());
            
            //находим все анаграммы
            var anagrams = GetAnagrams(words);
 
            //записываем в выходной файл
            var outFilePath = "c:\\2.txt";
 
            using (var sw = new StreamWriter(outFilePath))
            foreach (var list in anagrams.Values)
            if (list.Count > 1)
                sw.WriteLine(string.Join(", ", list));
 
            Console.ReadKey();
        }
 
        private static Dictionary<string, List<string>> GetAnagrams(HashSet<string> words)
        {
            var res = new Dictionary<string, List<string>>();
 
            foreach(var word in words)
            {
                var key = new string(word.OrderBy(c => c).ToArray());
                List<string> list;
                if (!res.TryGetValue(key, out list))
                    list = res[key] = new List<string>();
 
                list.Add(word);
            }
 
            return res;
        }
    }
}
Nikita2019 вне форума
Старый 25.01.2019, 18:25   #28
Nikita2019
Пользователь
 
Регистрация: 25.01.2019
Сообщений: 26
По умолчанию

Как в данном коде сделать вод слова с к клавиатуры а не под грузки из файла ?
Nikita2019 вне форума
Старый 25.01.2019, 18:37   #29
Nikita2019
Пользователь
 
Регистрация: 25.01.2019
Сообщений: 26
По умолчанию

как сделать так как ту на сайте ? https://wordparts.ru/anagramma/?word=территория
Nikita2019 вне форума
Старый 25.01.2019, 20:51   #30
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

http://www.programmersforum.ru/showthread.php?t=326230
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить процедуру, которая во введенной строке заменяет все буквы "а" на "*". Помогите написать программу в Pascal Tanya121 Помощь студентам 4 07.11.2018 17:31
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" Sandakan01 Помощь студентам 1 24.02.2016 03:20