Отправляет email-рассылки с помощью сервиса Sendsay

Супер ТРЁП !!! Форум обо всем !!!

Помогите в С++!

Привет,
Ребята помогите, горю!

Работаю в С++Builder 6.
Такие вопросы:
-Как в С++ будет бейсиковский оператор RND(n) - вывод случайных чисел
в диапазоне 0-n. А точнее надо элементы массива выдавать в случайном
порядке без повторений.
-Как обьявить переменную, чтобы она действовала во всех формах
проекта? А точнее есть пара ListBox'ов. Так вот в другой форме или
фрейме надо произвести запись данных этих компонентов в файл. Как к
ним обратиться?
-Размещаю фрейм - при запуске он не показывается. Как его
активировать?
-Как сделать, чтобы по нажатию на кнопку открывалась гиперссылка? или
открывался текстовый файл?

Заранее спасибо за ответ. Конечно поищу и в учебниках.

--
Глупый пингвин робко прячет, умный смело достает.

Ответить   Tue, 2 Mar 2004 23:46:22 +0300 (#95333)

 

Ответы:

EvGenius, опять привет!

что-то типа rand() или random()...
Тока может быть он генерит в диапазоне от 0 до 1... Тогда надо результат
умножить на n... ;)))

Ну это уже целый алгоритм... :))))

ListBox должен быть глобальной переменной...
В другом исходнике объявляешь его же только с дерективой extern впереди. И
обращаешься к нему, как к местному...
Но глобальные переменные - это плохой стиль для С++. :)))

Это не ко мне... Я с Builder-ом не работаю... :)))))
Но догадки есть...
Мож у этого фрейма какой-нить метод есть, типа Show()?

Функция API есть такая... ShellExecute вроде называется.... Или че-то такое....
Поищи в help по WinAPI....

Незачто.... Ищи в help-e: там удобнее и быстрее...

Хорошо, когда есть, что доставать... :)))))

Ответить   Wed, 3 Mar 2004 14:45:27 +0300 (#95689)

 

Слушая Чиж и Со. - В старинном городе О..
хочу тебя поприветствовать EvGenius.

rand() выдает значения от 0 до RAND_MAX (0x7fff)
если надо определенный промежуток от P_MIN до P_MAX то
a=(rand()/RAND_MAX)*(P_MAX-PMIN+1)+P_MIN

перед вызовом лучше всего проинициализировать генератор
srand( (unsigned)time( NULL ) );

Тебе массив заполнить надо или массив перетосавать?
если заполнить то a[i]=rand();
если перетосовать берешь цикл на до хрена итераций
и в цикле выбираешь случайным образом 2 индекса и меняешь их значения
местами полученный массив выводишь.
в зависимости от задачи модифицируешь данный алгоритм

Глобальные переменные не есть кузяво, передовай через локальные
переменные, я делал так: создавал формы в ручную инициализировал ее
переменные значениями потом делал Show? форму закрывал в головной
форме считывал эти переменные потом Free

с фреймами не работал но методf show разве там не или что-то похожее

Рой в сторону ShellExecute

С уважением Малыш

Ответить   Малыш Wed, 3 Mar 2004 14:52:27 +0300 (#95695)

 

Привет, Малыш.

3 марта 2004 г., 14:52:27:

Вот это,блин,ФЕНЯ!!!
Ничего не понял!
Куда мне тут,со словариком...Супротив Президента...

Ответить   Wed, 3 Mar 2004 20:05:45 +0300 (#95901)

 

Привет Малыш,

Wednesday, March 3, 2004, 2:52:27 PM, you wrote:

нехило
Вообще-то от 0 до n

Надо доки посмотреть.
С массивами эти операции как с классом TStrings?

А теперь медленно и с расстановкой ;)

Уже порыл и отрыл ;)

Огромное спасибо!

--
Лети с приветом - вернись умным.
--
С наилучшими,
EvGenius mailto:evgenius2***@m*****.ru
http://www.shizgrad.amillo.net
Номер выпуска : 12632
Возраст листа : 120 (дней)
Количество подписчиков : 137
Адрес в архиве : http://subscribe.ru/archive/rest.interesting.flame/msg/96004
Получить правила : mailto:rest.interesting.flame-rules@subscribe.ru
Формат "дайджест" : mailto:rest.interesting.flame-digest@subscribe.ru
Формат "каждое письмо" : mailto:rest.interesting.flame-normal@subscribe.ru
Формат "читать с веба" : mailto:rest.interesting.flame-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:rest.interesting.flame-list@subscribe.ru
Отписаться: mailto:rest.interesting.flame--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Wed, 3 Mar 2004 20:22:08 +0300 (#96004)

 

Слушая тишину хвойного леса
хочу тебя поприветствовать EvGenius.

До n включительно? если да
a=(int)((rand()/RAND_MAX)*(n+1))
или
a=static_cast< char >( (rand()/RAND_MAX)*(n+1) );
я просто в первый раз забыл сделать приведение типов, тебе же int надо
Если до n не включительно n+1 заменяешь на просто n

В смысле? по подробней плиз а то я фразы по поводу TStrings не понял.

я делал так
application->createform(TMyForm,MyForm); //Создаем форму
MyForm->a=..... ; //Заполняем локальные
MyForm->b=..... ; //переменные новой формы
MyForm->showmodal; // выводим на экран
aa=MyForm->.......; //После того как форма отработала
bb=MyForm->.......; //запоминаем данные из формы
MyForm->Free; // уничтожаем форму

Пишу по памяти могут быть мелкие неточности

С уважением Малыш

Ответить   Малыш Wed, 3 Mar 2004 22:10:00 +0300 (#96058)

 

Hello Малыш,

Wednesday, March 3, 2004, 10:10:00 PM, you wrote:

на сколько я понял, он имеет ввиду массив созданый на куче

Ответить   Wed, 3 Mar 2004 23:16:48 +0300 (#96391)

 

Привет Малыш,

Ну есть функции класса TStrings - Add(),Move() и.т.д.
Для массивов они такие же?

--
Трудной детство - килобайтные игрушки...
--
С наилучшими,
EvGenius mailto:evgenius2***@m*****.ru
http://www.shizgrad.amillo.net
Номер выпуска : 12796
Возраст листа : 121 (дней)
Количество подписчиков : 137
Адрес в архиве : http://subscribe.ru/archive/rest.interesting.flame/msg/96738
Получить правила : mailto:rest.interesting.flame-rules@subscribe.ru
Формат "дайджест" : mailto:rest.interesting.flame-digest@subscribe.ru
Формат "каждое письмо" : mailto:rest.interesting.flame-normal@subscribe.ru
Формат "читать с веба" : mailto:rest.interesting.flame-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:rest.interesting.flame-list@subscribe.ru
Отписаться: mailto:rest.interesting.flame--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Thu, 4 Mar 2004 07:32:10 +0300 (#96738)

 

Привет, EvGenius.

Вы писали 4 марта 2004 г., 7:32:10:

Массив это не класс!!! Для него не существует никаких операций кроме
присваивания (здесь я не считаю специальных функций для работы с
массивами), то есть объявляем массив, присваиваем его элементам какие
либо значения, читаем эти значения.

Ответить   Thu, 4 Mar 2004 23:10:43 +0300 (#96750)

 

Hello EvGenius,

Thursday, March 4, 2004, 7:32:10 AM, you wrote:

String - это динамический массив char'ов . Посмотри реализацию TString в
сырцах и сделай себе хоть long double.

Ответить   Thu, 4 Mar 2004 23:05:09 +0300 (#96789)

 

Слушая тишину хвойного леса
хочу тебя поприветствовать EvGenius.

Нет для чистых массивов никаких методов нет, все ручками
Перестановка между i и j элемнтом будет выглядить так:
Tmp=a[i];
a[i]=a[j];
a[j]=Tmp;

Кажется есть класс и для массива, кажется даже в стандартном С++
да наверное еще и свои классы у каждого разработчика компиляторов
но я с ними не работал.

С уважением Малыш

Ответить   Малыш Fri, 5 Mar 2004 11:18:40 +0300 (#96994)

 

Hello Малыш,

есть такая буква в этом слове. Всем это называется STL и придумал ее
товарищ Степанов. Соотечественник наш. Там этот тип называется vector.

Ответить   Sun, 7 Mar 2004 21:09:26 +0300 (#98499)