請問有人能幫我修改部分程式嗎?演算法的..

請問有人能幫我修改部分程式嗎?演算法的..

幫我產生兩亂數一維陣列介於0-59,分別代表顧客進入時間點、顧客離開時間點

條件A:顧客進入時間點必須在30 分之前

條件B:顧客離開時間點必須大於進入時間10 分鐘以上

#include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>using namespace std;const int MAX = 30;

const int DUE = 40;int main() {

srand(time(NULL));

int dat[MAX][2]; for(int i=0; i<MAX; i++) {

dat[i][0]=rand()%DUE;

dat[i][1]=rand()%(DUE-dat[i][0])+1+dat[i][0];

} for(int i=0; i<MAX; i++) {

printf("%4d %4d\n",dat[i][0],dat[i][1]);

}

return 0;

}能幫我的我會非常感謝你><...

已更新項目:

能的話..能在幫我列出最多跟最少人次及其時間點嗎...

2 個已更新項目:

條件A:進出時間點介於0-59 之間

條件B:顧客進入時間點必須在30 分之前

條件C:顧客離開時間點必須大於進入時間10 分鐘以上

1 個解答

評分
  • 9 年前
    最佳解答

    const int MAX = 30;

    const int DUE = 30;int main() {

    srand(time(NULL)); int pn[DUE];

    int dat[MAX][2]; for(int i=0;i<DUE;i++)pn[i]=0; //memset(pn,0,60); int n;

    for(int i=0; i<MAX; i++) {

    dat[i][0]=rand()%DUE;

    dat[i][1]=(rand()%(59-dat[i][0]-10))+11+dat[i][0];

    pn[dat[i][0]]++;

    }

    for(int i=0; i<MAX; i++) {

    printf("%d ~ %d = %d\n",dat[i][0],dat[i][1],dat[i][1]-dat[i][0]);

    } int Max=-1,Min=MAX+1;

    for(int i=0;i<DUE;i++){

    if(pn[i]>Max)Max=pn[i];

    if(pn[i]<Min)Min=pn[i];

    } printf("\n最多 :");

    for(int i=0;i<DUE;i++)if(pn[i]==Max)printf("%d ,",i);

    printf("\n最少 :");

    for(int i=0;i<DUE;i++)if(pn[i]==Min)printf("%d ,",i);

    system("PAUSE");

    return 0;

    }

還有問題?馬上發問,尋求解答。