#include #include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ #define BLOKLAR 4 #define BLOKBASINADAIRE 15 #define TOPLAMDAIRE 60 //A1, A2, A3, A4 olmak üzere 4 blok ve her blokta 15 daire vardır void rastgeledairesec(unsigned int dairesecici[][BLOKBASINADAIRE]); int main(int argc, char *argv[]) { unsigned int dairesirasi[BLOKLAR][BLOKBASINADAIRE]={0}; srand (time (NULL)); //rastgele sayı üreteci rastgeledairesec(dairesirasi); system("pause"); return 0; } void rastgeledairesec(unsigned int dairesecici[][BLOKBASINADAIRE]) { int satirno=0; // satır blok no int sutunno=0; // sütun daire no (Matris olarak düşünülürse) int sayac=0; for(sayac=1;sayac<=TOPLAMDAIRE;sayac++){ do { satirno=rand()%BLOKLAR; sutunno=rand()%BLOKBASINADAIRE; //Rastgeke bir daire seçildi. (Blok ve Daire No) Do While döngüsü ile bu dairenin daha önceden seçilip seçilmediği //bir başka ifadeyle başka bir ev sahibi adayına verilip verilmediği kontrol edilsin. //Boş bir daire bulunana kadar ilgili ev sahibi adayı için aramaya devam edilsin }while (dairesecici[satirno][sutunno]!=0); //Bulunan daire ev sahibine verilsin. Bu amaçla ilgili ev sahibi nosuna atansın dairesecici[satirno][sutunno]=sayac; printf("\n%d\t A %d\t Blok Daire %d ",sayac,satirno+1,sutunno+1); } }