Advertisement
fr1sk

kaluC

Dec 15th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.70 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int length = 1;
  4.  
  5. void stampajMatricu(int x[length][length]) {
  6.   for (int i = 0; i < length; i++) {
  7.     for (int j = 0; j < length; j++) {
  8.       printf("%d ", x[i][j]);
  9.     }
  10.     printf("\n");
  11.   }
  12. }
  13.  
  14. int main(){
  15.  
  16.   int n;
  17.     printf("unesite br: ");
  18.     scanf("%d", &n);
  19.  
  20.   // skracujemo po jednu cifru i nalazimo duzinu broja n
  21.   int nc = n;
  22.   while ( nc /= 10 ) {
  23.     length++;
  24.   }
  25.  
  26.   printf("duzina n je %d\n", length);
  27.  
  28.   // kopiramo n da bi mogli da ga secemo a da ostane original
  29.   nc = n;
  30.  
  31.   // pravimo matricu po duzini n
  32.   int matrica[length][length];
  33.  
  34.   // popunjavamo prvi red jer je isti
  35.   printf("%d %d\n", nc, n);
  36.   for (int i = 0; i < length; i++) {
  37.     matrica[0][(length - 1)- i] = nc % 10;
  38.     nc = nc / 10;
  39.   }
  40.  
  41.   // pravimo novu kopiju od n
  42.   nc = n;
  43.   // popunjavamo ostale redove
  44.   // idemo od 1 jer smo 0 vec popunili
  45.   for (int i = 1; i < length; i++) {
  46.     // printf("i je: %d\n", i);
  47.     nc = n; // resetujemo nc posle
  48.     for (int j = 0; j < length; j++) {
  49.       if (i % 2 == 1) { // neparni redovi, oduzima se 1
  50.         // printf("Umanjujem za 1 od reda: %d\n", (i - 1));
  51.         if (matrica[i - 1][j] - 1 < 0) {
  52.           matrica[i][j] = matrica[i - 1][j] + 10 - 1;
  53.         } else {
  54.           matrica[i][j] = matrica[i - 1][j] - 1;
  55.         };
  56.         nc = nc / 10;
  57.       } else { // parni redovi, oduzima se 2
  58.         // printf("Umanjujem za 2 od reda: %d\n", (i - 1));
  59.         if (matrica[i - 1][j] - 2 < 0) {
  60.           matrica[i][j] = matrica[i - 1][j] + 10 - 2;
  61.         } else {
  62.           matrica[i][j] = matrica[i - 1][j] - 2;
  63.         };
  64.         nc = nc / 10;
  65.       }
  66.     }
  67.   }
  68.  
  69.   stampajMatricu(matrica);
  70.  
  71.     return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement