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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2012, 00:00   #1
edikesh
Пользователь
 
Регистрация: 22.11.2011
Сообщений: 25
По умолчанию генератором случайных чисел получить и нарисовать на экране заданное количество окружностей.

С помощью генератора случайных чисел получить и нарисовать на экране заданное количество окружностей. Окружности не должны пересекаться, радиус каждой из них не меньше заданного числа.


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


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            

        }

        private void button1_Click(object sender, EventArgs e)
        {
            int count;
            if(int.TryParse(textBox1.Text,out count))
            {
                Random random = new Random();
                int randomInt = random.Next();
                randomInt = random.Next(0, 800);
                int randomInt2 = random.Next();
                randomInt2 = random.Next(0, 500);
                Graphics g = this.CreateGraphics();
                Pen pen = new Pen(Brushes.Red);
                Graphics krug = this.CreateGraphics();
                krug.DrawEllipse(pen, randomInt, randomInt2, 50, 50);
            }
            else
            {
                MessageBox.Show("Не число.");
            }
        }
при нажатии на кнопку рисуется окружность в рандомном месте.

у меня вопрос,как нарисовать ЗАДАННОЕ число окружностей?

Код:
Pen pen = new Pen(Brushes.Red);
                Graphics krug = this.CreateGraphics();
                krug.DrawEllipse(pen, randomInt, randomInt2, 50, 50);
реализует только одну окружности,а е если их n-штук?
edikesh вне форума Ответить с цитированием
Старый 28.05.2012, 07:42   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Создавать в цикле от 0 до n-1.
s-andriano вне форума Ответить с цитированием
Старый 28.05.2012, 07:45   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Вам нужно также помнить радиусы и координаты центров иначе нарисуете пересекающиеся окружности. Кроме того, нужно знать хотя бы примерно сколько возможно нарисовать окружностей при заданных условиях иначе программа может уйти в вечный цикл поиска места для новой окружности.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.05.2012, 18:47   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Правильная программа в вечный цикл не уйдет.
Вообще целесообразно для любого цикла (разумеется, кроме for - для него это выполняется автоматически) подсчитывать количество итераций и ограничивать их максимальным значением.
s-andriano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа на паскале, в которой можно нарисовать несколько окружностей произвольного радиуса мышкой в графическом режиме А1иночка Помощь студентам 9 11.04.2012 00:19
определить количество четных чисел и количество нечетных чисел массива, которые вводятся в МЕМО, вывести в поле компонента Edit. Pyxy Помощь студентам 2 21.03.2012 23:24
Нарисовать несколько окружностей, включая то, что они могут быть поверх друг друга smith732 Помощь студентам 4 19.12.2011 14:48
нарисовать куб на экране mego4el Помощь студентам 1 03.12.2010 22:38
Помогите с генератором чисел на Pascal vadmaruschak Помощь студентам 6 13.09.2009 17:06