C 特殊矩陣生成,c 隨機生成矩陣

2022-10-09 05:36:23 字數 3852 閱讀 2816

1樓:翔天烈燕

#include

#include

#include

int main()

srand((unsigned)time(null));

int m = 10, n = 10, t, num[10]; //這三個10應當根據自己的需要調整,m是行,n是列,num[n]指的是該列有沒有已經輸出過0了

for (int i = 0; i < 10; i++)num[i] = 0;

for (int i = 0; i < m; i++)while (1)

t = rand() % n;

if (num[t] != 1)

num[t] = 1;

break;

for (int j = 0; j < n; j++)if (j == t && j < 9)

printf("1\t");

else if (j == t && j == 9)printf("1\n");

else if (j < 9)

printf("0\t");

else

printf("0\n");

return 0;

2樓:匿名使用者

#include

#include

#include

#include

using namespace std;

int main()

int i,j,m,n;

char *matrix;

srand(time(null));

cout<<"請輸入m n:";

cin>>m>>n;

matrix=new char[m*n];

memset(matrix,'0',m*n*sizeof(char));

for(i=0;imatrix[rand()%m*n+i]='1';

for(i=0;ifor(j=0;jcout

return 0;

c++ 中如何生成隨機矩陣?

3樓:

利用二維陣列不就可以了a之類的

4樓:吉祥二進位制

生產隨機的矩陣的關鍵在於使用隨機函式rand()。

rand()

表頭檔案: #include

定義函式 :int rand(void)

函式說明 :

因為rand的內部實現是用線性同餘法做的,他不是真的隨機數,只不過是因為其週期特別長,所以有一定的範圍裡可看成是隨機的,rand()會返回一隨機數值,範圍在0至rand_max 間。在呼叫此函式產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在呼叫時會自動設隨機數種子為1。rand ()產生的是假隨機數字,每次執行時是相同的。

若要不同,以不同的值來初始化它.初始化的函式就是srand()。

返回值:

返回0至rand_max之間的隨機整數值,rand_max的範圍最少是在32767之間(int),即雙位元組(16位數)。若用unsigned int 雙位元組是65535,四位元組是4294967295的整數範圍。

0~rand_max每個數字被選中的機率是相同的.

基於隨機函式,使用雙重迴圈語句便可以生成乙個隨機矩陣,下面是乙個10x10隨機矩陣的**,數值範圍在0~1000:

#include

#include

#define m 10

#define n 10

int main(void)

};srand(time(null));

for (i = 0; i < m; ++i)

}printf("array[%d][%d] is: \n", m, n);

for (i = 0; i < m; ++i)

printf("\n");

}return 0;}

5樓:匿名使用者

有確定維數還是維數和內容都隨機?

c++隨機生成矩陣

6樓:好程式設計師

生產隨機的矩陣的關鍵在於使用隨機函式rand()。

rand()

表頭檔案: #include

定義函式 :int rand(void)

函式說明 :

因為rand的內部實現是用線性同餘法做的,他不是真的隨機數,只不過是因為其週期特別長,所以有一定的範圍裡可看成是隨機的,rand()會返回一隨機數值,範圍在0至rand_max 間。在呼叫此函式產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在呼叫時會自動設隨機數種子為1。rand ()產生的是假隨機數字,每次執行時是相同的。

若要不同,以不同的值來初始化它.初始化的函式就是srand()。

返回值:

返回0至rand_max之間的隨機整數值,rand_max的範圍最少是在32767之間(int),即雙位元組(16位數)。若用unsigned int 雙位元組是65535,四位元組是4294967295的整數範圍。

0~rand_max每個數字被選中的機率是相同的.

基於隨機函式,使用雙重迴圈語句便可以生成乙個隨機矩陣,下面是乙個10x10隨機矩陣的**,數值範圍在0~1000:

#include

#include

#define m 10

#define n 10

int main(void)

};srand(time(null));

for (i = 0; i < m; ++i)

}printf("array[%d][%d] is: \n", m, n);

for (i = 0; i < m; ++i)

printf("\n");

}return 0;}

隨機生成乙個5*5的矩陣 c++

7樓:篤俠

寫得複雜了點,其實中間的迴圈沒有必要:

#include

#include

#include

using namespace std;

void main()

;for(int i=0;i<5;i++)cout<

8樓:乙個簡單的曾子

while括號裡面條件錯了,應該是元素值與0相等時繼續迴圈

c++如何產生乙個隨機矩陣? 要求行列和為固定,假設為n。

9樓:暮鼓晨鐘

#include

#include

using namespace std;

int main() //隨機生成乙個行列數不大於10,元素大小不大於100的二維陣列

//動態生成陣列同時賦值

int **num = new int*[n];

for(int i=0;i

//輸出陣列

for(int i=0;i

return 0;}

10樓:

直接產生乙個二維陣列就可以了吧

int matrix[100][100];

然後用i,j迴圈為每乙個元素賦個隨機值

#include

#include

for (int i=0;i<100;i++)}

11樓:亥凝思

random()函式

12樓:匿名使用者

迴圈呼叫rand()

c 生成隨機數,c 生成隨機數

加個來判斷 自就可以了 srand int time null int t 0 while 1 t就是要用的值了。範圍可以自抄己輸入,可以bai 產生乙個隨機數。先輸入du大的,再輸入小的。zhi include include include using namespace std int mai...

MATLAB如何生成這樣的矩陣 矩陣為1行254列,由1,2,3,4,5,6,7這幾個數字組成,組成規則是

x,y,z ndgrid 1 7 p x y z 獲得所copy有可能的3個數的排列 r p 1 p 2 p 2 p 3 p r,除去有連bai續值得排列a zeros 1,254 a 1 3 p 1,選取dup的第一行作為最開始三個數p 1,刪除掉該zhi行,不再允許該組合dao出現for ii ...

怎麼用matlab生成迴圈矩陣,matlab,怎樣將每次迴圈中生成的值存在一個矩陣裡?要簡單的方法。。。。。。

影子愛蟲蟲 lihaiyonglhy yahoo.com.cn n點迴圈卷積 x1 x1 zeros 1,n length x1 x2 x2 zeros 1,n length x2 m 0 n 1 t 0 n 1 x2 x2 mod m,n 1 反折h zeros n,n for n 1 n m m...