Señor_Gaga, не надо учить человека плохому. Надо использовать библиотечные функции, а не изобретать лисапеды!
По сути: я попробовал сделать по-другому:
e@e16:~/news$ ./array
player card 1 = 4 3
player card 2 = 11 2
e@e16:~/news$ ./array
player card 1 = 7 3
player card 2 = 7 2
e@e16:~/news$ ./array
player card 1 = 11 1
player card 2 = 12 3
e@e16:~/news$ ./array
player card 1 = 10 1
player card 2 = 2 2
e@e16:~/news$ ./array
player card 1 = 5 2
player card 2 = 11 1
e@e16:~/news$
Как видим, никаких стопроцентных совпадений. А почему? Я слегка поменял ваш код:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void){
int pc00, pc10, pc01, pc11;
srand(time(NULL));
pc00=rand() %12+1;
pc10=rand() %12+1;
pc01=rand() %3+1;
pc11=rand() %3+1;
printf("player card 1 = %d %d \n",pc00,pc01);
printf("player card 2 = %d %d \n",pc10,pc11);
return(0);
}
Результаты хранятся не в массиве, а в отдельных переменных.
У вас неправильный массив, он маловат...
playerCard[1][1]={{0}} — содержит только ОДИН элемент! Это playerCard[0][0]!
Остальные элементы находятся за границами массива! Ну и так уж получается, что playerCard[1][0] и playerCard[0][1] — это «одно и то же лицо».
Пользователь решил продолжить мысль 04 Декабря 2012, 23:09:53:
Кстати, если уж хотите написать свой ГСЧ, изучите хотя бы упрощенную пример по книжке Форсайт, Малькольм, Моулер «Машинные методы математических вычислений», можно также почитать Кнута, но там сложнее; по первой книжке получаются вполне нормальные результаты.