Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Amfecor
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 4
1

Builder C++ использование random

16.12.2014, 22:59. Просмотров 606. Ответов 10
Метки нет (Все метки)

C++
1
b[i] = random(100 * (random(3) -1));
для C++ Builder

Подскажите пожалуйтса как отобразить это на С++

Мой вариант
C++
1
b[i] = rand()%(100 * (rand()%(3) -1));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2014, 22:59
Ответы с готовыми решениями:

Компиляцию кода MAtlab в C++Builder и использование преобразованного кода .м в C++Builder
Компиляцию кода MAtlab в C++Builder и использование преобразованного кода .м в...

Использование stack в c++ builder
Добрый день. Нужно использовать стандартный класс C++ stack. В интернете нашел,...

Совместное использование C++ Builder и VS C++
Привет! Можно ли использовать C++ Builder и VS C++ совместно. Ну, допустим,...

Использование второго монитора в C++ Builder
Подскажите каким образом осуществляется работа в C++Builder со вторым...

Alpha Controls. Использование в С++ Builder.
Ребята помогите пожалуйсто разобраться с Alpha Controls. Что там к чему как его...

10
Fulcrum_013
1588 / 1071 / 124
Регистрация: 14.12.2014
Сообщений: 8,822
Завершенные тесты: 3
17.12.2014, 06:14 2
C++
1
b[i] = random(100 * (random(3) -1));
тока тут логическая ошибка в формуле.
наверное имелось в виду
C++
1
b[i] = random(100 * (random(3) +1));
0
Amfecor
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 4
17.12.2014, 08:36  [ТС] 3
Выражение правильное .
0
Fulcrum_013
1588 / 1071 / 124
Регистрация: 14.12.2014
Сообщений: 8,822
Завершенные тесты: 3
17.12.2014, 08:56 4
Цитата Сообщение от Amfecor Посмотреть сообщение
Выражение правильное .
Ну если тебе надо чтоб в трети случаев генерился 0 а в остальных [0;99] то тогда правильное.

Ну если правильное то и переводить ничего не надо. int random(int num); в stdlib.h поселился еще до моего рождения, не то что до билдера.
0
SatanaXIII
Супер-модератор
Эксперт С++
5773 / 2772 / 376
Регистрация: 01.11.2011
Сообщений: 6,744
Завершенные тесты: 1
17.12.2014, 11:20 5
Fulcrum_013, я думаю, подоплеку вы угадали, но вопрос темы все ж в том, как переписать эту запись, используя сокращенное имя функции.
1
Fulcrum_013
1588 / 1071 / 124
Регистрация: 14.12.2014
Сообщений: 8,822
Завершенные тесты: 3
17.12.2014, 12:06 6
это не сокращенное имя, это другая функция.
C++
1
b[i] = rand()%(100 *abs (rand()%3 -1));
1
Amfecor
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 4
17.12.2014, 15:09  [ТС] 7
Вот по сути сама прога и условия к ней

Условие
[del]

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
 
 
float GetAvg(int*, int);
void PrintArray(int*, int);
 
void main()
{
system("cls");// аналог clrscr() в Visual Studio
 
  int n;
  int *b, *pos, *neg;
  int plen = 0, nlen = 0;
  float pavg, navg;
printf(" Input N :");
scanf("%i", &n);
 
b =   (int*)malloc(n * sizeof(int));
pos = (int*)malloc(n * sizeof(int));
neg = (int*)malloc(n * sizeof(int));
 
srand(time(0));
for (int i = 0; i<n; i++)
{
 b[i] = rand()%(100 * rand()%((3) -1));//
}
 
for ( i = 0; i < n; i++)//
{
  if (b[i] > 0)
  {
   pos[plen++] = b[i];
   continue;
  }
  if (b[i] < 0)
  {
   neg[nlen++] = b[i];
   continue;
  }
}
 
printf("\nArray:\n");
PrintArray(b, n);
 
printf("\n\nArray of positive elements:\n");
PrintArray(pos, plen);
 
printf("\n\nArray of negative elements:\n");
PrintArray(neg, nlen);
 
printf("\n\nAverage of positive elements = %f", pavg = GetAvg(pos, plen));
printf("\nAverage of negative elements = %f" , navg = GetAvg(neg, nlen));
 
if (fabs(pavg) > fabs(navg))
{
  printf("\n|ABS(pos)| > |ABS(neg)|");
}
else if (fabs(pavg) < fabs(navg))
{
  printf("\n|ABS(pos)| < |ABS(neg)|");
}
 
 
printf("\n\nPress any key to quit");
getch();
free(b);
free(pos);
free(neg);
}
 
 
float GetAvg(int *a, int len)
{
float avg = 0;
for (int i=0; i<len;i++)
{
   avg += a[i];
}
   if (avg != 0)
   avg /= len;
 
 
   return avg;
}
 
 
void PrintArray(int *a, int len)
{
   for (int i=0; i<len;i++)
{
   printf("%i", a[i]);
}
}
0
Fulcrum_013
1588 / 1071 / 124
Регистрация: 14.12.2014
Сообщений: 8,822
Завершенные тесты: 3
17.12.2014, 15:15 8
Если тебе нужен генератор который генерит в диапазоне [-100;100]
то он выглядит так
C++
1
b[i]=rand()%201-100;
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26101 / 17501 / 6943
Регистрация: 22.10.2011
Сообщений: 30,823
Записей в блоге: 6
17.12.2014, 15:36 9
Нефиг велосипеды строить, вот так он выглядит:
C++
1
b[i] = RandomRange(-100, 101);
0
Taatshi
Администратор
11712 / 5056 / 257
Регистрация: 05.04.2011
Сообщений: 13,807
Записей в блоге: 2
17.12.2014, 15:37 10
Amfecor, задание должно быть размещено на русском языке. Перепечатайте в соответствии с правилами форума.
0
Amfecor
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 4
17.12.2014, 20:06  [ТС] 11
Условие

Задан массив, содержащий N чисел. вычислить среднее
арифметическое всех положительных чисел массива и среднее арифметическое всех
отрицательных чисел массива. Определить, какое из этих двух значений больше по модулю. Вычисление среднего арифметического оформить как процедуру.

Добавлено через 2 часа 13 минут
Всем большое спасибо !!!
0
17.12.2014, 20:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2014, 20:06

Использование библиотеки DCPcrypt в C++ Builder
Собственно суть темы в том, что нужно организовать шифрование строки...

Использование стороннего компилятора в C++ Builder MinGW
Приветствую, недавно начал заниматься C++ Builder. Задача удачно...

Использование NET библиотеки в C++ Builder XE2
Здравствуйте, уважаемые форумчане! Сразу признаюсь, что в C++ Builder я полный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru