Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- //tabla de adunare si inmultire in Zn, lemente inversabile, nilpotente si divisori ai lui zero
- int main()
- {
- int n,i,j,k,elementInv[30],nInv,nilpotent,ik;//ik retine i la puterea k modulo n
- int s[30][30],p[30][30];
- printf("n=");
- scanf("%d",&n);
- printf("elementele lui Zn sunt:\n");
- for (i=0; i<n; i++)
- {
- printf("%3d",i);
- }
- printf("\n");
- for (i=0; i<n; i++)
- {
- for (j=0; j<n; j++)
- {
- s[i][j]=(i+j)%n;
- p[i][j]=(i*j)%n;
- }
- }
- printf("Tabela adunarii\n");
- printf("%3c|",'+');//afisam capul de tabel
- for(i=0; i<n; i++)
- {
- printf("%3d",i);
- }
- printf("\n");
- for(i=0; i<=n; i++)
- {
- printf("___");
- }
- printf("\n");
- for (i=0; i<n; i++)
- {
- printf("%3d|",i);
- for (j=0; j<n; j++)
- {
- printf("%3d",s[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- printf("Tabela imnultirii\n");
- printf("%3c|",'*');//afisam capul de tabel
- for(i=0; i<n; i++)
- {
- printf("%3d",i);
- }
- printf("\n");
- for(i=0; i<=n; i++)
- {
- printf("___");
- }
- printf("\n");
- for (i=0; i<n; i++)
- {
- printf("%3d|",i);
- for (j=0; j<n; j++)
- {
- printf("%3d",p[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- printf("Elementele inversabile sunt:");
- nInv=0;
- for (i=0; i<n; i++)
- {
- for (j=0; j<n; j++)
- {
- if(p[i][j]==1)
- {
- elementInv[nInv]=i;
- nInv++;
- printf("%3d",i);
- }
- }
- }
- printf("\n");
- //nilpotenta
- nilpotent=1;
- for(i=0; i<n; i++)
- {
- ik=1;
- for(k=1; k<=n+1; k++)
- {
- ik=(ik*i)%n;
- if(ik==0)
- {
- printf("Elementul %d este nilpotent deoarece %d^%d este egal cu 0\n",i,i,k);
- break;
- }
- }
- }
- printf("\n");
- printf("Divizorii lui zero sunt:");
- for (i=1; i<n; i++)
- {
- for (j=1; j<n; j++)
- {
- if(p[i][j]==0)
- {
- printf("%3d",i);
- break;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement