#include <stdio.h>
int repetido(int iMat[4][4], int i, int j) {
for (int k = 0; k <= i; k++) {
for (int l = 0; l < j; l++) {
if (iMat[i][j] == iMat[k][l]) {
printf("\nNúmero repetido, digite outro: \n"); return 1;
}
}
}
return 0;
}
int main() {
int iMat[4][4];
printf("Digite 16 números diferentes para completar a matriz 4x4:\n"); for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
while (1) {
scanf("%i", &iMat
[i
][j
]); if (!repetido(iMat, i, j)) break;
}
}
}
for (int i = 0; i < 4; i++) {
for (int j
= 0; j
< 4; j
++) printf("%2i ", iMat
[i
][j
]); }
}
//https://pt.stackoverflow.com/q/278848/101
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgcmVwZXRpZG8oaW50IGlNYXRbNF1bNF0sIGludCBpLCBpbnQgaikgewogICAgZm9yIChpbnQgayA9IDA7IGsgPD0gaTsgaysrKSB7CiAgICAgICAgZm9yIChpbnQgbCA9IDA7IGwgPCBqOyBsKyspIHsKICAgICAgICAgICAgaWYgKGlNYXRbaV1bal0gPT0gaU1hdFtrXVtsXSkgewogICAgICAgICAgICAgICAgcHJpbnRmKCJcbk7Dum1lcm8gcmVwZXRpZG8sIGRpZ2l0ZSBvdXRybzogXG4iKTsKICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0KCmludCBtYWluKCkgewogICAgaW50IGlNYXRbNF1bNF07CiAgICBwcmludGYoIkRpZ2l0ZSAxNiBuw7ptZXJvcyBkaWZlcmVudGVzIHBhcmEgY29tcGxldGFyIGEgbWF0cml6IDR4NDpcbiIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCA0OyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDQ7IGorKykgewogICAgICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICAgICAgcHJpbnRmKCIlaSVpIC0+ICIsIGksIGopOwogICAgICAgICAgICAgICAgc2NhbmYoIiVpIiwgJmlNYXRbaV1bal0pOwogICAgICAgICAgICAgICAgaWYgKCFyZXBldGlkbyhpTWF0LCBpLCBqKSkgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBwcmludGYoIlxuIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgNDsgaisrKSBwcmludGYoIiUyaSAiLCBpTWF0W2ldW2pdKTsKICAgICAgICBwcmludGYoIlxuIik7CiAgICB9Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzI3ODg0OC8xMDE=