Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int length = 1;
- void stampajMatricu(int x[length][length]) {
- for (int i = 0; i < length; i++) {
- for (int j = 0; j < length; j++) {
- printf("%d ", x[i][j]);
- }
- printf("\n");
- }
- }
- int main(){
- int n;
- printf("unesite br: ");
- scanf("%d", &n);
- // skracujemo po jednu cifru i nalazimo duzinu broja n
- int nc = n;
- while ( nc /= 10 ) {
- length++;
- }
- printf("duzina n je %d\n", length);
- // kopiramo n da bi mogli da ga secemo a da ostane original
- nc = n;
- // pravimo matricu po duzini n
- int matrica[length][length];
- // popunjavamo prvi red jer je isti
- printf("%d %d\n", nc, n);
- for (int i = 0; i < length; i++) {
- matrica[0][(length - 1)- i] = nc % 10;
- nc = nc / 10;
- }
- // pravimo novu kopiju od n
- nc = n;
- // popunjavamo ostale redove
- // idemo od 1 jer smo 0 vec popunili
- for (int i = 1; i < length; i++) {
- // printf("i je: %d\n", i);
- nc = n; // resetujemo nc posle
- for (int j = 0; j < length; j++) {
- if (i % 2 == 1) { // neparni redovi, oduzima se 1
- // printf("Umanjujem za 1 od reda: %d\n", (i - 1));
- if (matrica[i - 1][j] - 1 < 0) {
- matrica[i][j] = matrica[i - 1][j] + 10 - 1;
- } else {
- matrica[i][j] = matrica[i - 1][j] - 1;
- };
- nc = nc / 10;
- } else { // parni redovi, oduzima se 2
- // printf("Umanjujem za 2 od reda: %d\n", (i - 1));
- if (matrica[i - 1][j] - 2 < 0) {
- matrica[i][j] = matrica[i - 1][j] + 10 - 2;
- } else {
- matrica[i][j] = matrica[i - 1][j] - 2;
- };
- nc = nc / 10;
- }
- }
- }
- stampajMatricu(matrica);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement