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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2009, 21:33   #1
Natok
Пользователь
 
Аватар для Natok
 
Регистрация: 17.05.2009
Сообщений: 85
Вопрос Массив, Random и c# ...и не работает...

есть массив int размера Size. есть чысло N. нужно случайным образом N елементов в массиве сделать 1-цами,остальные 0-лями.
что то здесь не так. помогите исправить!

PHP код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 
WindowsFormsApplication17
{
    public 
partial class Form1 Form
    
{
        public 
Form1()
        {
            
int[] vector;            //оглашаем массив
            
int Size 0;            //размер
            
InitializeComponent();

        }

        private 
void button1_Click(object senderEventArgs e)
        {
            
Size int.Parse(textBox1.Text);   //достаем введений пользователем размер из textBox1  
            
vector = new int[Size];
                for(
int i=0i<Sizei++)
                    
vector[i] = 0;             //зануливаем массив
            
int[] vyp_vector;                  //создаем другой массив
            
int n=0;                             //размер=0
            
int.Parse(textBox1.Text);        //достаем размер из textBox1 
                
vyp_vector = new int[n];
                for (
int i 0ni++)
                {
                    
int k 0;          
                    
Random r = new Random();
                    
vyp_vector[i] = r.Next(n);        //вот здесь по идее случайным образом некие елементы массива становятся 1-цами
                    
vyp_vector[i];
                    
vector[k] = 1;
                }
            
            
 
        }
    }
    } 
Natok вне форума Ответить с цитированием
Старый 24.05.2009, 01:31   #2
Natok
Пользователь
 
Аватар для Natok
 
Регистрация: 17.05.2009
Сообщений: 85
По умолчанию

создала ф-ию, которая возврящает случайное число. но...возврящается одно и то же число каждий раз, когда визивается ф-ия
PHP код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 
WindowsFormsApplication17
{
    public 
partial class Form1 Form
    
{
        public 
Form1()
        {
                        
//оглашаем массив
                        //размер
            
InitializeComponent();

        }
         private 
int RandomNext(int number)
         {
             
Random r= new Random();
             return 
r.Next(number);
         }

        private 
void button1_Click(object senderEventArgs e)
        {
            
int[] vector;
            
int Size;
            
Size int.Parse(textBox1.Text);   //достаем введений пользователем размер из textBox1  
            
vector = new int[Size];
                for(
int i=0i<Sizei++)
                    
vector[i] = 0;             //зануливаем массив
            
int[] vyp_vector;                  //создаем другой массив
            
int n;                             //размер=0
            
int.Parse(textBox1.Text);        //достаем размер из textBox1 
                
vyp_vector = new int[n];
                for (
int i 0ni++)
                {
                    
int k 0;
                    
vyp_vector[i] = RandomNext(n);        //вот здесь по идее случайным образом некие елементы массива становятся 1-цами
                    
vyp_vector[i];
                    
vector[k] = 1;
                }
                for (
int i 0ni++)
                    
richTextBox2.Text += vyp_vector[i] + " ";
                
richTextBox2.Text += "\n";

            for(
int i=0i<Sizei++)
                
richTextBox1.Text+= vector[i].ToString()+" ";
            
richTextBox1.Text += "\n";

            
 
        }
    }
    } 
Natok вне форума Ответить с цитированием
Старый 24.05.2009, 01:35   #3
Natok
Пользователь
 
Аватар для Natok
 
Регистрация: 17.05.2009
Сообщений: 85
По умолчанию

можно еще вопрос, на который мне очень нужен ответ! прочитала здесь же, на форуме, в среди старых сообщений, что не нужно каждый раз создавать обьект Random,создать его один раз, но сделать статическим.
но как ето сделать - буквально -

PHP код:
static Random r=new Random(); 
ето вызывает ошыбку...
Natok вне форума Ответить с цитированием
Старый 24.05.2009, 01:58   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
ето вызывает ошыбку...
У меня вот так работает:
объявляю в классе (в вашем случае Form1):
Код:
public static Random r;
потом в конструкторе создаю:
Код:
r = new Random();
И в обработчике кнопки:
Код:
for(int i=0; i<5; i++)
   textBox1.Text = textBox1.Text + "  " + Convert.ToString(r.Next(5));
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 24.05.2009, 02:05   #5
Natok
Пользователь
 
Аватар для Natok
 
Регистрация: 17.05.2009
Сообщений: 85
По умолчанию

Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!
Natok вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив с помощью random. bygoga Паскаль, Turbo Pascal, PascalABC.NET 32 07.11.2008 22:31
Random Constellation БД в Delphi 2 10.01.2008 21:37
random Sanek_ntsk Общие вопросы Delphi 8 17.12.2007 21:54
Помогите пожалуйста!!! С использованием функции Random сформировать одномерный массив Vanya_www_333 Помощь студентам 1 17.08.2007 13:38