Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*. Napisati program za formiranje matrice M dimenzije nxn. Elementi matrice M se dobijaju od realnog niza A dimenzije n sortiranog u rastućem
- poretku, pri čemu se elementi niza smeste u poslednji red (n-1 red), a svi ostali elementi se dobijaju kada se u
- pretposlednjem redu (n-2) od svakog elementa niza A oduzme 1, u n-3 redu se oduzima 2, itd. Ispisati matricu M na standardnom izlazu. Izvršiti dinamičku alokaciju memorije za matricu i niz i koristi funkcije.*/
- #include<stdio.h>
- #include<stdlib.h>
- void matrica(int **m, int *a, int n)
- {
- int i,j,br=1;
- sort(a,n);
- for(i=0;i<n;i++)
- *(m+i)=(int*)malloc(n*sizeof(int));
- for(i=n-1;i>=0;i--)
- for(j=0;j<n;j++)
- {
- if(i!=n-1)
- {
- m[ i ][ j ] = m[ i + 1][ j ] -1;
- }
- else
- m[i][j]=a[j];
- }
- ispis(m,n);
- }
- void ispis(int **m, int n)
- {
- int i, j;
- for(i=0; i < n; i++)
- {
- for(j = 0; j < n; j++)
- {
- printf("%d ", m[i][j]);
- }
- printf("\n");
- }
- }
- void unosn(int *a, int n)
- {
- int i;
- for(i=0;i<n;i++)
- scanf("%d",&a[i]);
- }
- void ispisn(int *a, int n)
- {
- int i;
- for(i=0;i<n;i++)
- printf("%d",a[i]);
- }
- void razmeni(int *x, int *y)
- {
- int pom;
- pom=*x;
- *x=*y;
- *y=pom;
- }
- void sort(int *a, int n)
- {
- int i,j;
- for(i=0;i<n-1;i++)
- for(j=i+1;j<n;j++)
- if(a[i]>a[j])
- razmeni(&a[i],&a[j]);
- }
- main ()
- {
- int *a, **m, n;
- printf("unesi velicinu niza \n");
- scanf("%d",&n);
- a=(int*)malloc(n*sizeof(int));
- m=(int**)malloc(n*sizeof(int*));
- printf("unesi elemente niza a \n");
- unosn(a,n);
- printf("ispis niza \n");
- ispisn(a,n);
- matrica(m,a,n);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement