30/09/2018, 18:27
M.n cho em ý kiến về phát sinh ngẫu nhiên không trùng nhau với. e ko biết làm sao hết
e làm được hàm phát sinh ngẫu nhiên rồi.
nhưng mà đề yêu cầu là phát sinh ngẫu nhiên sao cho 2 liền kề ko trùng nhau.
nhưng mà e ko biết phải nên viết thế nào. dưới đây là hàm phát sinh ngẫu nhiên của em. n
hưng hai số liền kề có trùng nhau.m.n giúp e với
#include "stdafx.h"
#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
#define MAX 52
//hàm tạo và xuất ramdom
void Nhap_ramdom(int a[], int n) {
for (int i = 0; i <n; i++) {
a[i] = 1 + rand() % (n);
}
}
void Xuat_ramdom(int a[], int n) {
for (int i = 0; i < n; i++) {
cout.width(4);
cout << a[i];
}
cout << endl;
}
//InterChange_Sort
void InterChange_Sort(int a[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (a[i]>a[j]) swap(a[i], a[j]);
}
}
}
int _tmain(int argc, _TCHAR* argv[]) {
int a[MAX],n=13;
cout << "quan bai cua nguoi 1:";
Nhap_ramdom(a, n);
InterChange_Sort(a, n);
Xuat_ramdom(a, n);
cout << "quan bai cua nguoi 2:";
Nhap_ramdom(a, n);
InterChange_Sort(a, n);
Xuat_ramdom(a, n);
cout << "quan bai cua nguoi 3:";
Nhap_ramdom(a, n);
InterChange_Sort(a, n);
Xuat_ramdom(a, n);
cout << "quan bai cua nguoi 4:";
Nhap_ramdom(a, n);
InterChange_Sort(a, n);
Xuat_ramdom(a, n);
return 0;
}
Bài liên quan
Em phải nói là em đang làm cái gì, lỗi ở đâu, mong muốn như thế nào chứ em post code lên thế này mà không một lời giải thích thì làm sao mà biết làm sao?
Ai giúp với
dạ. để e sửa lại. e xin lỗi
xài std::random_shuffle (include ). Khởi tạo 1 mảng tăng dần từ 1 tới n rồi shuffle nó:
std::random_shuffle(a, a+n);