Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Генерация линков

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 20.11.2011, 14:33   #1
 Сержант
Аватар для pixfid
 
pixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известен
Регистрация: 20.12.2010
Сообщений: 102
Популярность: 427
Сказал(а) спасибо: 1
Поблагодарили 93 раз(а) в 60 сообщениях
Отправить сообщение для pixfid с помощью ICQ Отправить сообщение для pixfid с помощью Skype™
 
По умолчанию Генерация линков

Смысл собственно такой, есть сайт oboobs.ru, нужно генерить прямые линки на картинки.
Код:
public partial class Form1 : Form
    {
        int i;
        public int ze = 0;
        public Form1()
        {
            
            InitializeComponent();
        }
        public void doit()
        {
            for (i = 0; i < ze; i++)
            {
                listBox1.Items.Add("http://media.oboobs.ru/boobs/" + Next() + ".jpg");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {

            ze = Convert.ToInt32(textBox1.Text);
            doit();


        }

            int current;
            int _base = 9999;

            public int MyRandom()
            {
                current = DateTime.Now.Millisecond % _base;
                return current;
            }

            public string Next()
            {
                int d = MyRandom();
                current = (int)Math.Round(d * Math.PI + _base);
                string gg = Convert.ToString(current);
                string tt = gg.Replace('1', '0');
                return tt;
            }


            private void button2_Click(object sender, EventArgs e)
            {
                {
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        System.IO.StreamWriter sw = new System.IO.StreamWriter(saveFileDialog1.FileName);

                        foreach (object item in listBox1.Items)

                            sw.WriteLine(item.ToString());

                        sw.Close();
                    };
                }
            }
    }
Нужно увеличить кпд =), тобиш убирать дубликаты, и перегенеривать линки заново, до нужного значния, тобиш если изначально нужно сгенерить 10к линков, а получилось 600 без дубликатов, то перегенеривать 10к-600, ну и т.д. пока не будет 10к без дубликатов...

З.Ы. Код писалсо на коленке, посему ужасен.
________________
79099c42081131387cabf8f236676a5a

Последний раз редактировалось pixfid; 20.11.2011 в 15:19.
  Ответить с цитированием
Старый 20.11.2011, 19:19   #2
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: Генерация линков

а сразу 10К сгенерировать не вариант?
И добавлять по очереди?
И при добавлении проверять нет ли его, использовать списки например так:
List<string> list=new List<string>();
if(!list.Contains(dobavlyaemoe_zna4enie))
{
list.Add(dobavlyaemoe_zna4enie);
}

Последний раз редактировалось Hermein; 20.11.2011 в 19:22.
  Ответить с цитированием
Старый 20.11.2011, 22:52   #3
 Сержант
Аватар для pixfid
 
pixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известен
Регистрация: 20.12.2010
Сообщений: 102
Популярность: 427
Сказал(а) спасибо: 1
Поблагодарили 93 раз(а) в 60 сообщениях
Отправить сообщение для pixfid с помощью ICQ Отправить сообщение для pixfid с помощью Skype™
 
По умолчанию Re: Генерация линков

Та блин, не в проверке дело, хотя сенкс, так проще, дело в плохом кпд, тобиш как писал выше из из 100к генераций получилось 703 линка из них 694 валидных, вот это и есть плохое кпд

Короче в аттаче сорци.., хз как еще проще объяснить, ВТ НЕТ ибо сорци

Решения как минимум 1:
Изменить сам алго рандомизации.(ибо нужны рандомные линки), перечисление подряд некатит.


Опытным путем доказано что повторение циклов генерации:

Код:
        public void doit(int count)
        {
            str = new string[Convert.ToInt32(textBox1.Text)];
            for (int t = 0; t < count;t++)
            {
                for (int i = 0; i < Convert.ToInt32(textBox1.Text); i++)
                {
                    string zeta = "http://media.oboobs.ru/boobs/" + Next() + ".jpg";
                    if (!list.Contains(str[i] = zeta) && zeta != "http://media.oboobs.ru/boobs/9999.jpg")
                    {
                        list.Add(str[i] = zeta);
                    }
                }
            }
        }
тобиш doit(Convert.ToInt32(numericUpDown1.Value));, кроме увеличения времени генерации на порядок, практической пользы не приносит...

[Ссылки могут видеть только зарегистрированные пользователи. ]
Как видно из скрина, как не увеличивай количество циклов генераций, лимит 835 значений(уникальных)

З.Ы. Обновил сорец

Update:
Если заменить:
Код:
string tt = gg.Replace('1', '0');
на:
Код:
string tt = ReplaceCharInString(gg,0,'0');
где:
Код:
 public String ReplaceCharInString(String source, int index, Char newSymb)
        {
            StringBuilder sb = new StringBuilder(source);
            sb[index] = newSymb;
            return sb.ToString();
        }
Можно добиться увеличения генерируемых ссылок до 1к, но имхо не панацея...
Вложения
Тип файла: rar Oboobs_linkgen.rar (82.9 Кб, 1 просмотров)
Тип файла: rar Oboobs_linkgen_1k.rar (83.2 Кб, 3 просмотров)
________________
79099c42081131387cabf8f236676a5a

Последний раз редактировалось Hermein; 21.11.2011 в 02:23.
  Ответить с цитированием
Старый 22.11.2011, 21:52   #4
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Генерация линков

Возможно я не правильно понял твою проблему, но если ты под валидностью
подразумеваешь не повтор адресов (тем более что эта проблема решена)),
а существование такой страницы в реальности, то проще всего воспользоваться .net классом HttpWebRequest.
clickable
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
  Ответить с цитированием
Старый 23.11.2011, 11:13   #5
 Сержант
Аватар для pixfid
 
pixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известенpixfid скоро будет известен
Регистрация: 20.12.2010
Сообщений: 102
Популярность: 427
Сказал(а) спасибо: 1
Поблагодарили 93 раз(а) в 60 сообщениях
Отправить сообщение для pixfid с помощью ICQ Отправить сообщение для pixfid с помощью Skype™
 
По умолчанию Re: Генерация линков

Цитата:
Сообщение от •theSaboteur•Посмотреть сообщение
Возможно я не правильно понял твою проблему, но если ты под валидностью
подразумеваешь не повтор адресов (тем более что эта проблема решена)),
а существование такой страницы в реальности, то проще всего воспользоваться .net классом HttpWebRequest.
clickable

Нет, валидноть, это сущетвование файла на сервере, оно мне както побоку вообщее есть ли файл на сервере или нет...
С отсеиванием одинаковых линков, разобрался, см пост выше.


Мне нужно, норм рандомный генератор, rnd - мусор, надо самопал.

Если ты качал сорци и собирал софтину, то мог заметить что максимум генерится 1к уникальных(без дубликатов) линков, мм...

Нужен норм генератор с диапозоном от (00001 - 09999);
________________
79099c42081131387cabf8f236676a5a
  Ответить с цитированием
Старый 23.11.2011, 14:04   #6
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Генерация линков

У меня System.Random() повторяет 33% на 10к значений и меньше 10% на 100к... По сравнению с твоими 94-90% весьма оптимально....
Твой алгоритм выполняется слишком быстро, надо усложнять... попробуй добавить число генерируемое Random(), думаю поможет )
UPD: если ты будешь заливать картинки, то перед генерацией нового линка заливай картинку, тогда будет меньше повторов..

Последний раз редактировалось Sinyss; 23.11.2011 в 14:17.
  Ответить с цитированием
Старый 23.11.2011, 15:34   #7
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
Smile Re: Генерация линков

Только что написал небольшой скриптик - из 6000 трушные 5994,
было бы 100% если бы не потоки - иногда проверить не успевает..
Использовал .net'овский Random.
cliackable
[Ссылки могут видеть только зарегистрированные пользователи. ]
>>C•DE<<
=========
added 18:56 24.11.11
=========

...Запустил этот код и повис, наблюдая за зелеными циферками... Надо найти диск с матрицей)

=========
added 20:04 24.11.11
=========

Sinyss
Во-первых, вашего сообщения я не видел - извините уж,
Во-вторых, раз уж пошла такая тема - пробежитесь глазами по моему вчерашнему сообщению - во вкладке clickable->explanation я упоминал об этом.
Данный пост с кодом я выложил только что бы пояснить автору сабжа принцип генерации случайных чисел средствами .net.
pixfid
Собственно выдираешь из этого кода генерацию значений, чуть-чуть корректируешь работу потоков, дабы полностью избавиться от промахов и вообщем-то mission completed (c)
=========
added 20:10 24.11.11
=========

Циферки затягивают...
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой

Последний раз редактировалось •theSaboteur•; 23.11.2011 в 19:16. Причина: Modify
  Ответить с цитированием
Старый 23.11.2011, 18:49   #8
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Генерация линков

Который я рекомендовал использовать еще вчера(или поза вчера), пост стер Hermein, по причине
Цитата:
Сообщение от Hermein
флуд/оффтоп п.14

Ну и где логика?
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] C# Быстрая генерация чисел xFroLx Вопросы и ответы, обсуждения 15 18.10.2010 11:34

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 10:34.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net