fork(1) download
  1. #include <stdio.h>
  2.  
  3. int repetido(int iMat[4][4], int i, int j) {
  4. for (int k = 0; k <= i; k++) {
  5. for (int l = 0; l < j; l++) {
  6. if (iMat[i][j] == iMat[k][l]) {
  7. printf("\nNúmero repetido, digite outro: \n");
  8. return 1;
  9. }
  10. }
  11. }
  12. return 0;
  13. }
  14.  
  15. int main() {
  16. int iMat[4][4];
  17. printf("Digite 16 números diferentes para completar a matriz 4x4:\n");
  18. for (int i = 0; i < 4; i++) {
  19. for (int j = 0; j < 4; j++) {
  20. while (1) {
  21. printf("%i%i -> ", i, j);
  22. scanf("%i", &iMat[i][j]);
  23. if (!repetido(iMat, i, j)) break;
  24. }
  25. }
  26. }
  27. printf("\n");
  28. for (int i = 0; i < 4; i++) {
  29. for (int j = 0; j < 4; j++) printf("%2i ", iMat[i][j]);
  30. printf("\n");
  31. }
  32. }
  33.  
  34. //https://pt.stackoverflow.com/q/278848/101
Success #stdin #stdout 0s 4280KB
stdin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
stdout
Digite 16 números diferentes para completar a matriz 4x4:
00 -> 01 -> 02 -> 03 -> 10 -> 11 -> 12 -> 13 -> 20 -> 21 -> 22 -> 23 -> 30 -> 31 -> 32 -> 33 -> 
 1  2  3  4 
 5  6  7  8 
 9 10 11 12 
13 14 15 16