les agradeceria mucho su ayuda...
Código
#include <iostream> #include <stdlib.h> #include <stdio.h> #include <time.h> using namespace std; void parejas(){ srand(time(NULL)); int matriz[4][4],nume,cont=0; for(int x=0;x<4;x++){//llenando la matriz con numeros aleatorios for(int y=0;y<4;y++){ nume=1+rand()%8; matriz[x][y]=nume; //llenando la matriz con numeros aleatorios } } //comparacion de las parejas de la matriz for(int x=0;x<4;x++){ //recorriendo cada posicion de la matriz for(int y=0;y<4;y++){ for(int s=0;s<4;s++){ // for para comparar cada posicio con la posicion generada por los 2 for anteriores for(int m=0;m<4;m++){ //for para recorrer filas if(matriz[x][y]==matriz[s][m]) { //comparando el valor de la posicion [x][y] con el vlor de cada posicion de la matriz cont++; //contamos cuantas veces el numero es igual if(cont>2){ //si el numero esta repetido mas de dos veces while(matriz[s][m]==matriz[x][y]){ //se mantendra este ciclo para asignarle un valor diferente nume=1+rand()%8; //generamos el nuevo numero que va a tener la posicion de la matriz matriz[s][m]=nume; } cont=2; //igualmaos el contador a 2 }//cierre de if que evalua el contador }//cierre del if que evalua si los numeros son iguales }//cierre del for que recorre filas }cont=0; //cierre de for que recorre columnas cout<<matriz[x][y] <<"\t" <<x <<y; cout<<endl;//mostramos el numero }//cierre del segundo for }//cierre del primer for } //cierre de la funcion int main(){ //funcion principal cout<<"numero" <<"\t" <<"posicion" <<endl; cout<<endl; parejas(); //llamada a la funcion system("pause"); }