|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.03.2011, 23:04 | #1 |
Пользователь
Регистрация: 18.02.2010
Сообщений: 96
|
проблемы с кодом
неоходимо создать массив из 9 элементов. заполнить случайными числами, а после отсортировать чтобы остэлементы в единственном экземпляре.тоесть числа от 1-9 должны быть в перемешку.
на ночь глядя придумал это, но код слабо работает, что можно подредактировать или предложите новый алгоритм. Код:
Последний раз редактировалось sergio11; 05.03.2011 в 23:06. |
06.03.2011, 09:47 | #2 |
Пользователь
Регистрация: 18.02.2010
Сообщений: 96
|
уже не надо
Код:
|
07.03.2011, 19:14 | #3 |
Пользователь
Регистрация: 18.02.2010
Сообщений: 96
|
Всё бы хорошо, но возникла новая проблема. не могуправильно сгенерировать без повторов. следовал этому алгоритму
http://malover.ucoz.ru/sudoku/ в п.4 сказано перемешать элементы чтоб не повторялись, как это сделать? Код HTML:
[CODE] Random rand = new Random(); List<int> A = new List<int>() { 0, 0, 0 }; List<int> B = new List<int>() { 0, 0, 0 }; List<int> C = new List<int>() { 0, 0, 0 }; List<int> m = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int k = 0; int[,] mas = new int[9, 9]; int[] mas1 = new int[81]; int[] mas2 = new int[81]; ShuffleList(m); for (int i = 0; i < 3; i++) { A[i] = m[k]; B[i] = m[k + 3]; C[i] = m[k + 6]; k++; } for (int j = 0; j < 9; j++)//0 строка { mas[0, j] = m[j]; Console.Write(mas[0, j]);//выыод 0 строки } k = 0; for (int i = 0; i < 3; i++)//1 строка { mas[1, k] = C[i]; mas[1, k + 3] = A[i]; mas[1, k + 6] = B[i]; k++; } Console.WriteLine(); for (int j = 0; j < 9; j++)//вывод 1строки Console.Write(mas[1, j]); k = 0; for (int i = 0; i < 3; i++)//2 строка { mas[2, k] = B[i]; mas[2, k + 3] = C[i]; mas[2, k + 6] = A[i]; k++; } Console.WriteLine(); for (int j = 0; j < 9; j++)//вывод 2строки Console.Write(mas[2, j]); ShuffleList(A); ShuffleList(B); ShuffleList(C); k = 0; for (int i = 0; i < 3; i++)//3 строка { mas[3, k] = C[i]; mas[3, k + 3] = A[i]; mas[3, k + 6] = B[i]; k++; } Console.WriteLine(); for (int j = 0; j < 9; j++)//вывод 3строки Console.Write(mas[3, j]); k = 0; for (int i = 0; i < 3; i++)//4 строка { mas[4, k] = A[i]; mas[4, k + 3] = B[i]; mas[4, k + 6] = C[i]; k++; } Console.WriteLine(); for (int j = 0; j < 9; j++)//вывод 4строки Console.Write(mas[4, j]); k = 0; for (int i = 0; i < 3; i++)//5 строка { mas[5, k] = B[i]; mas[5, k + 3] = C[i]; mas[5, k + 6] = A[i]; k++; } Console.WriteLine(); for (int j = 0; j < 9; j++)//вывод 5строки Console.Write(mas[5, j]); ShuffleList(A); ShuffleList(B); ShuffleList(C); k = 0; for (int i = 0; i < 3; i++)//6 строка { mas[6, k] = C[i]; mas[6, k + 3] = A[i]; mas[6, k + 6] = B[i]; k++; } Console.WriteLine(); for (int j = 0; j < 9; j++)//вывод 6строки Console.Write(mas[6, j]); k = 0; for (int i = 0; i < 3; i++)//7 строка { mas[7, k] = A[i]; mas[7, k + 3] = B[i]; mas[7, k + 6] = C[i]; k++; } Console.WriteLine(); for (int j = 0; j < 9; j++)//вывод 7строки Console.Write(mas[7, j]); k = 0; for (int i = 0; i < 3; i++)//8 строка { mas[8, k] = B[i]; mas[8, k + 3] = C[i]; mas[8, k + 6] = A[i]; k++; } Console.WriteLine(); for (int j = 0; j < 9; j++)//вывод 8строки Console.Write(mas[8, j]); int n = 0; for (int i = 0; i < 9; i++) for (int j = 0; j < 9; j++) { mas1[n] = mas[i, j]; mas2[n] = mas[i, j]; n++; } n = 0; foreach (Control c in this.Controls) { if (c is TextBox) { ((TextBox)c).Text = mas1[n].ToString(); n++; } } }[/CODE] Последний раз редактировалось sergio11; 07.03.2011 в 19:18. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы с хостингом или кодом | gufon | PHP | 18 | 22.12.2010 20:38 |
Проблемы с кодом | schtefan | PHP | 1 | 22.11.2010 13:46 |
Проблемы с кодом | __Demon__ | Win Api | 0 | 13.11.2010 17:49 |
Проблемы с кодом в Mozilla 3 | Olya_Poy | HTML и CSS | 7 | 28.08.2008 18:27 |