Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- f(){
- int n,i,j,z,c,s,k,gata=0;
- printf("Introdu de cat vrei sa fie matricea patratica: ");
- scanf("%d",&z);
- n=z*z;
- struct catalog {
- int nota;
- char nume[20];
- };
- struct catalog m[z][z];
- struct catalog aux;
- for(i=0;i<z;i++){
- for(j=0;j<z;j++){
- printf("Introdu numele elevului: ");
- scanf("%s",&m[i][j].nume);
- printf("Introdu nota: ");
- scanf("%d",&m[i][j].nota);
- }
- }
- // afiseaza matricea
- printf("Situatia catalogului: \n");
- for(i=0;i<z;i++){
- for(j=0;j<z;j++){
- printf("%s=%d ",m[i][j].nume,m[i][j].nota);
- }
- printf("\n");
- }
- printf("Introdu o cifra pozitiva pt sortare descrescatoare\n sau o cifra negativa pentru sortare crescatoare: ");
- scanf("%d",&s);
- if(s>=0){
- printf("\nOrdoneaza descrescator pe diagonala principala:\n");
- do {
- gata=1;
- for(k=0;k<z-1;k++){
- for(i=0;i<z-1;i++){
- for(j=0;j<z-1;j++){
- if(m[k][k].nota < m[k+1][k+1].nota){
- aux = m[k][k];
- m[k][k] = m[k+1][k+1];
- m[k+1][k+1] = aux;
- gata=0;
- }
- }
- }
- }
- } while (gata==0);
- // afiseaza matricea sortata descrescator
- printf("\nSituatia catalogului ordonat descrescator: \n");
- for(i=0;i<z;i++){
- for(j=0;j<z;j++){
- printf("%s=%d ",m[i][j].nume,m[i][j].nota);
- }
- printf("\n");
- }
- } // end if(s>=0)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement