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;
}
Mai Anh Dũng viết 20:32 ngày 30/09/2018

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

long viết 20:36 ngày 30/09/2018

dạ. để e sửa lại. e xin lỗi

viết 20:33 ngày 30/09/2018

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);

Bài liên quan
0