 |
C# Быстрая генерация чисел - Вопросы и ответы, обсуждения - Ваши вопросы по C/C++ только в данном разделе |
11.10.2010, 15:29
|
#1
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 21.06.2010
 Сообщений: 425
 Популярность: 1817
 Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
|
C# Быстрая генерация чисел
Помогите пожалуйста с кодом, как ускорить процесс генерации чисел (например от 1 до 100 000), делаю через цыкл for:
Код:
for(int i = 0; i<100 000; i++)
это делается оч долго((( подскажите плиз как ускорить процесс
|
|
|
11.10.2010, 15:35
|
#2
|
|
|
|
Сержант
|
 Регистрация: 20.07.2010
 Сообщений: 138
 Популярность: 26409
 Сказал(а) спасибо: 52
Поблагодарили 567 раз(а) в 198 сообщениях
|
Re: C# Быстрая генерация чисел
 |
Цитата: |
 |
|
|
|
|
|
эмм а что тут оптимизировать?) быстрее ток на ассемблере, да и то не особо.
если интересует вот немного материала по генерации строк - код на делфи, но думаю все и так понятно: _http://www.zerverteam.com/id41
Добавлено через 6 минут
Собственно цикл for работает в 3 такта, быстрее ты никоим образом не исхитришься сделать.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось Рэйзор; 11.10.2010 в 15:41.
Причина: Добавлено сообщение
|
|
|
11.10.2010, 16:01
|
#3
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 21.06.2010
 Сообщений: 425
 Популярность: 1817
 Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
|
Re: C# Быстрая генерация чисел
|
|
|
11.10.2010, 16:04
|
#4
|
|
|
|
Сержант
|
 Регистрация: 20.07.2010
 Сообщений: 138
 Популярность: 26409
 Сказал(а) спасибо: 52
Поблагодарили 567 раз(а) в 198 сообщениях
|
Re: C# Быстрая генерация чисел
ты чего то сделал)
даже на стареньком компе цикл от 1 до 100к выполнится за 0.1с
кинь полный код.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
11.10.2010, 16:04
|
#5
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 21.06.2010
 Сообщений: 425
 Популярность: 1817
 Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
|
Re: C# Быстрая генерация чисел
Последний раз редактировалось xFroLx; 11.10.2010 в 17:28.
Причина: Добавлено сообщение
|
|
|
11.10.2010, 21:22
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 09.10.2010
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: C# Быстрая генерация чисел
Кинь полный код, вроде бы должно генерироваться быстро даже если рандомить.
|
|
|
12.10.2010, 10:22
|
#7
|
|
|
|
Главнокомандующий
|
 Регистрация: 20.01.2010
 Сообщений: 1,539
 Популярность: 22780
 Золото Zhyk.Ru: 600
 Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: C# Быстрая генерация чисел
Код:
static void Main(string[] args)
{
HiPerfTimer timer = new HiPerfTimer();
Random rnd = new Random();
int arrayLength = 100000;
int[] array = new int[arrayLength];
timer.Start();
for (int i = 0; i < arrayLength; i++)
array[i] = rnd.Next();
timer.Stop();
Console.WriteLine(String.Format("{0} ms", timer.Duration));
Console.ReadKey();
}
З.Ы. Класс HiPerfTimer у себя не ищите. Он самописный.
Результат:
[IMG]http://******.net/storage/10/1/0/8/7/upload/8ba3befc.png[/IMG]
Я не думаю, что две тысячные секунды - это больше время для генерации 100 000 случайных числе и запись их в массив.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Быстрое снятие и загрузка скриншотов на хостинг.
|
|
|
13.10.2010, 08:33
|
#8
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 21.06.2010
 Сообщений: 425
 Популярность: 1817
 Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
|
Re: C# Быстрая генерация чисел
Да я сам тупанул) прост у меня числа генились в rich tex box е))) я сделал через текстовик)
через текстовики тоже долговато, можете подсказыть(я ваще новичёк в этом деле)
Вот мне надо сгенить числа (от 1 до 100к допустим) и вставит результат в текст бокс... как эт сделать.. я раньше делал вот так
for (int i = 0; i < 100; i++)
{
richtextbox1.Text += "2C"+i;
Application.DoEvents();
}
но это долго
Последний раз редактировалось xFroLx; 13.10.2010 в 09:09.
|
|
|
13.10.2010, 09:14
|
#9
|
|
|
|
Фельдмаршал
|
 Регистрация: 10.06.2008
 Сообщений: 965
 Популярность: 5501
 Сказал(а) спасибо: 786
Поблагодарили 942 раз(а) в 598 сообщениях
|
Re: C# Быстрая генерация чисел
Если хочешь быстрее — создавай сначала в памяти цифры, а после создания записывай все сразу.
Жрёт память. Но быстрее некуда.
Можно записывать по несколько мегабайт (если цифр много, чтобы память не жралась сильно).
Последний раз редактировалось Leo_ня; 13.10.2010 в 09:17.
|
|
|
Пользователь сказал cпасибо:
|
|
13.10.2010, 09:16
|
#10
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 21.06.2010
 Сообщений: 425
 Популярность: 1817
 Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
|
Re: C# Быстрая генерация чисел
|
|
|
13.10.2010, 10:33
|
#11
|
|
|
|
Главнокомандующий
|
 Регистрация: 20.01.2010
 Сообщений: 1,539
 Популярность: 22780
 Золото Zhyk.Ru: 600
 Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: C# Быстрая генерация чисел
Код:
Random rnd = new Random();
int arrayLength = 100000;
int[] array = new int[arrayLength];
for (int i = 0; i < arrayLength; i++)
array[i] = rnd.Next();
StringBuilder sb = new StringBuilder();
foreach (int i in array)
sb.AppendFormat("2C{0}\n", i);
richTextBox1.Text = sb.ToString();
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Быстрое снятие и загрузка скриншотов на хостинг.
|
|
|
Пользователь сказал cпасибо:
|
|
16.10.2010, 22:54
|
#12
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 21.06.2010
 Сообщений: 425
 Популярность: 1817
 Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
|
Re: C# Быстрая генерация чисел
TBX1n
А почему если я геню не с нуля... а например с 10 по 5000, то вначале появляются 10нуле.. а ток потом идут числа
|
|
|
17.10.2010, 13:24
|
#13
|
|
|
|
Главнокомандующий
|
 Регистрация: 20.01.2010
 Сообщений: 1,539
 Популярность: 22780
 Золото Zhyk.Ru: 600
 Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
|
Re: C# Быстрая генерация чисел
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Быстрое снятие и загрузка скриншотов на хостинг.
|
|
|
17.10.2010, 14:32
|
#14
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 21.06.2010
 Сообщений: 425
 Популярность: 1817
 Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
|
Re: C# Быстрая генерация чисел
да мне не рандомные числа над... а когда генишь с 5 до 500, вначале появляются 5 нулей а потом числа
Последний раз редактировалось xFroLx; 17.10.2010 в 14:36.
|
|
|
17.10.2010, 23:00
|
#15
|
|
|
|
Рыцарь-защитник
|
 Регистрация: 28.08.2009
 Сообщений: 603
 Популярность: 19129
 Золото Zhyk.Ru: 500
 Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: C# Быстрая генерация чисел
в цикл или таймер ставиш:
Код:
int chislo = 500;
chislo++;
И записываем куда надо...
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 09:25.
|
 |