Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30
#1

Генератор случайных чисел (double) - C++

15.03.2014, 02:23. Просмотров 285. Ответов 1
Метки нет (Все метки)

Товарищи,перерыл весь интернет и учебники и не могу понять,что не так в моем коде.
У меня задача: сделать матрицу случайных вещественных чисел,меньших 1. На остальное не смотрите,там все норм

Может,как вариант с printf'ом начудил(так как там выводит только целые числа),пробовал и по-другому НИФИГА
По этому,вы -последняя надежда
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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <iomanip>
 
#define N 4
using namespace std;
 
class Matrix {
public:
int a[N][N];
int   i, j;
 
 
 
Matrix () {  //triangle down
for(i=1; i<N; i++) {
  for (j=1; j<N; j++) {
  
  if (i>j || i==j) a[i][j]=5*i;
  else a[i][j]=0;
  }}}
 
Matrix (double q) {  //random
    
for( i=1; i<N; i++) {
  for (j=1; j<N; j++) {
     
   a[i][j] =  rand()/(double)RAND_MAX;
   
     
  }}}
 
Matrix (int M) { //triangle up with M
for(i=1; i<N; i++) {
  for (j=1; j<N; j++) {
  if (i<j) a[i][j]=0;
  else a[i][j]=M*(i+j);}}}
void outm();
void mult (Matrix, Matrix);
};
 
void Matrix::outm() {
 for(i=1; i<N; i++) {
  for (j=1; j<N; j++) {
   printf("%d\t", a[i][j]);}
  printf("\n");}};
 
/*void Matrix::outm2() {
 for(i=1; i<N; i++) {
  for (j=1; j<N; j++) {
   printf("%4f\t", a[i][j]);}
  printf("\n");}};
  */
void Matrix::mult(Matrix M1, Matrix M2) {
Matrix Mx;
for(int i=1; i<N; i++) {
  for (int j=1; j<N; j++) {
      Mx.a[i][j] =0;
      for (int k=1; k<N; k++)
        Mx.a[i][j] += M1.a[i][j] * M2.a[k][j]; };}
Mx.outm();
}
 
 
void main () {
int M;
double q;
 
cout<<"Down triangle matrix\n";
Matrix A;
A.outm();
cout<<"Random matrix\n";
Matrix B(1.0);
B.outm();
cout<<"Enter M = ";
cin>>M;
cout<<"Up triangle matrix with M\n";
Matrix C(M);
C.outm();
cout<<"\n";
cout<<"Dobutok AxC\n";
A.mult(A, C);
cout<<"\n";
cout<<"Dobutok BxA\n";
B.mult(B, A);
cout<<"\n";
cout<<"Dobutok BxC\n";
C.mult(B, C);
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2014, 02:23     Генератор случайных чисел (double)
Посмотрите здесь:

Нужен генератор случайных чисел - C++
Срочно нужен генератор случайных чисел С++(Builder), что бы можно было впихнуть в курсовую . Заранее спасибо

Файлы си++, генератор случайных чисел - C++
Помогите пожалуйста решить задачку! Разработать программу, которая вводит значение n (n - целое, четное, n&lt;=100), генерирует n первых...

Генератор случайных двоичных чисел - C++
Подскажите плиз как сделать так, чтоб выводило двоичные числа? rand_t random() { static rand_t srand = time(NULL); ...

Генератор массива случайных чисел - C++
Есть массив, хочу заполнить его случайными числами, причем с каждым запуском числа должны быть разные, поэтому просто rand() не прокатит....

Массив и генератор случайных чисел - C++
1)Числа m, n і k (3≤k10) вводятся с клавиатуры. Сгенерировать и вывести на екран m целых случайных чисел на промежутке указаного в пункте...

Генератор случайных чисел в объекте - C++
Вообщем в объекте числа генерятся одни и те же, в main все норм(хотя рандомом их тож особо не назвоёшь, в ВСтудии и КодеБлокс видимо разные...

Генератор случайных вещественных чисел, C++ - C++
Возможно кому-то пригодится. Без дополнительных библиотек, вроде сносный такой генератор. #include &lt;iostream&gt; #include &lt;cmath&gt; ...

CUDA генератор случайных чисел - C++
Доброго времени суток! Подскажите,пожалуйста,как решить проблему.Суть такова.Есть программа,использующая видеокарту для расчётов.Внутри...

Генератор случайных чисел в матрице - C++
Здравствуйте! С Формами в С++ работаю впервые. Мне необходимо на форме по нажатию на кнопку в поле textbox сформировать датчиком...

Перезапустить генератор случайных чисел - C++
Хочу сгенерировать масив случайных чисел, при каждом запуске выдает одинаковые значения. Вроде бы надо перезапустить генератор...

генератор случайных чисел Эрланга - C++
необходим генератор случайных чисел. Не могу понять в чем заключается ошибки. Error C2065 'root': undeclared identifier ...

Генератор случайных неповторяющихся чисел - C++
Народ помогите! Проблема следующая. Я создал массив и заполнил его числами с помощью rand от -20 до 20. Как сделать так, чтобы при выводе...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.03.2014, 05:06     Генератор случайных чисел (double) #2
Цитата Сообщение от igorfors Посмотреть сообщение
сделать матрицу случайных вещественных чисел
Почему тогда массив (int a[N][N]) типа int?

Добавлено через 1 минуту
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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <iomanip>
 
#define N 4
using namespace std;
 
class Matrix {
public:
double a[N][N];
int   i, j;
 
 
 
Matrix () {  //triangle down
for(i=1; i<N; i++) {
  for (j=1; j<N; j++) {
  
  if (i>j || i==j) a[i][j]=5*i;
  else a[i][j]=0;
  }}}
 
Matrix (double q) {  //random
    
for( i=1; i<N; i++) {
  for (j=1; j<N; j++) {
     
   a[i][j] =  rand()/(double)RAND_MAX;
   
     
  }}}
 
Matrix (int M) { //triangle up with M
for(i=1; i<N; i++) {
  for (j=1; j<N; j++) {
  if (i<j) a[i][j]=0;
  else a[i][j]=M*(i+j);}}}
void outm();
void mult (Matrix, Matrix);
};
 
void Matrix::outm() {
 for(i=1; i<N; i++) {
  for (j=1; j<N; j++) {
   printf("%lf\t", a[i][j]);}
  printf("\n");}};
 
/*void Matrix::outm2() {
 for(i=1; i<N; i++) {
  for (j=1; j<N; j++) {
   printf("%4f\t", a[i][j]);}
  printf("\n");}};
  */
void Matrix::mult(Matrix M1, Matrix M2) {
Matrix Mx;
for(int i=1; i<N; i++) {
  for (int j=1; j<N; j++) {
      Mx.a[i][j] =0;
      for (int k=1; k<N; k++)
        Mx.a[i][j] += M1.a[i][j] * M2.a[k][j]; };}
Mx.outm();
}
 
 
void main () {
int M;
double q;
 
cout<<"Down triangle matrix\n";
Matrix A;
A.outm();
cout<<"Random matrix\n";
Matrix B(1.0);
B.outm();
cout<<"Enter M = ";
cin>>M;
cout<<"Up triangle matrix with M\n";
Matrix C(M);
C.outm();
cout<<"\n";
cout<<"Dobutok AxC\n";
A.mult(A, C);
cout<<"\n";
cout<<"Dobutok BxA\n";
B.mult(B, A);
cout<<"\n";
cout<<"Dobutok BxC\n";
C.mult(B, C);
system("pause");
}
Yandex
Объявления
15.03.2014, 05:06     Генератор случайных чисел (double)
Ответ Создать тему
Опции темы

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