Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- #include <malloc.h>
- void generator (int *polje, int broj) {
- int i, j, k, a, *prvi, *drugi, *tab, check = 0;
- srand((unsigned)time(NULL));
- prvi = (int *)malloc(broj/2*sizeof(int));
- drugi = (int *)malloc(broj/2*sizeof(int));
- tab = (int *)malloc(broj*broj*sizeof(int));
- for(i=0; i<broj; i++) {
- for(j=0; j<broj; j++)
- *(tab+i*broj+j) = 0;
- }
- while(check == 0) {
- for(i=0; i<(broj-1)*2; i++) {
- printf("%d. KOLO:\n", i+1);
- for(j=0; j<broj/2; j++) {
- a = j;
- do {
- prvi[j] = rand() % broj;
- drugi[j] = rand() % broj;
- } while(prvi[j] == drugi[j]);
- for(k=0; k<j; k++) {
- if(prvi[k] == prvi[j] || drugi[k] == drugi[j] || prvi[k] == drugi[j]
- || drugi[k] == prvi[j] || *(tab+prvi[j]*broj+drugi[j]) == 1) {
- j--;
- break;
- }
- }
- if(j==a) {
- printf("%d - %d\n", prvi[j], drugi[j]);
- *(tab+prvi[j]*broj+drugi[j]) = 1;
- }
- check++;
- if(check > 1000) {
- for(i=0; i<broj; i++) {
- for(j=0; j<broj; j++)
- *(tab+i*broj+j) = 0;
- }
- check = 0;
- break;
- }
- }
- if(check == 0)
- break;
- printf("\n");
- }
- }
- }
- int main () {
- FILE *f;
- f = fopen("momcadi.txt", "r");
- int brojMomcadi;
- int *polje, i;
- fscanf(f, "%d", &brojMomcadi);
- polje = (int *)malloc(brojMomcadi*sizeof(int));
- for(i=0; i<brojMomcadi; i++)
- polje[i] = i;
- generator(polje, brojMomcadi);
- fclose(f);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment