Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Теория вероятности ( комбинаторика ) / 9 сообщений из 9, страница 1 из 1
08.12.2010, 23:02
    #37003342
Fire55
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Где используеться алгоритм генерирования всех r-соединений с повторениями с n-элементов множества {1,2 ,..., n}, который базируется на лексикографическом подходе ?
Буду благодарен за исходники для решение этой задачи, на любом языке программирования( Желательно на С# ).

Буду благодарен за любое слово которое мне поможет все это реализовать.
...
Рейтинг: 0 / 0
08.12.2010, 23:22
    #37003364
Fire55
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Если пользователь вводит: 2
То нужно вывести
1 1
1 2
2 1
2 2
Если пользователь вводит: 3
То нужно вывести
1 1 1
1 1 2
1 2 1
1 2 2
1 2 3
1 3 1
1 3 2
1 3 3
2 1 1
2 1 2
2 1 3
2 2 1
....
...
Рейтинг: 0 / 0
09.12.2010, 00:56
    #37003458
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Fire55,

Вложенные циклы н-шт каждый от 1..н.
...
Рейтинг: 0 / 0
09.12.2010, 10:28
    #37003752
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Утренняя разминка ))

Код: plaintext
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.
using System;

namespace ConsoleApp
{
	class Program
	{
		static void Main(string[] args)
		{
			int N = 3; // число

			int[] arr = new int[N];
			Funct(arr, N, 0);
			Console.ReadKey();
		}

		static void Funct(int[] arr, int n, int k)
		{
			if (k < n)
				for (int i = 1; i <= n; ++i)
				{
					arr[k] = i;
					Funct(arr, n, k + 1);
				}
			else
			{
				for(int i=0; i<n; ++i) Console.Write(arr[i] + " ");
				Console.WriteLine();
			}
		}
	}
}
...
Рейтинг: 0 / 0
09.12.2010, 11:40
    #37003948
Fire55
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Спасибо!
...
Рейтинг: 0 / 0
09.12.2010, 12:28
    #37004134
Fire55
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Я через отладчик пробил, выходит, что k уменьшается когда нужно, но в самом исходнике этого я не вижу, объясните мене этот алгоритм?
...
Рейтинг: 0 / 0
12.12.2010, 21:32
    #37010213
Fire55
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Где в этом алгоритме указано, что k должна уменшаться.
...
Рейтинг: 0 / 0
13.12.2010, 00:22
    #37010343
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Fire55Где в этом алгоритме указано, что k должна уменшаться.
А почему вы решили, что K уменьшается? Вы рекурсивные процедуры вообще не воспринимаете?
...
Рейтинг: 0 / 0
13.12.2010, 09:32
    #37010626
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Теория вероятности ( комбинаторика )
Fire55Где в этом алгоритме указано, что k должна уменшаться.Если вы заметили, Funct вызывает сама себя (в цикле). Это - рекурсия.
Для вложенного вызова используется значение k + 1. Как только вложенный вызов отрабатывает, мы возвращаемся в вызывающую функцию, к старому значению k.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Теория вероятности ( комбинаторика ) / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]