***Ej1 /*cada rotación transforma la matriz de una manera diferente*/ /*por tanto no hay manera de hacerlo de forma automatica con lo que hay*/ /*que hacerlo a pelo*/ /*Os escribo la primera rotación: Para hacerla, basta con copiar las filas como columnas desde la mayor a la menor*/ /*Notar que la matriz es cuadrada y de dimension max * max*/ /*dentro de ella solo habra ocupada una porcion filas*columnas*/ void rota_90(int matriz[][max], filas,columnas, int resul[][max]) { int i,j,k; k=0; for(i=filas-1; i>=0; i--) for(j=0; jCOL[j]) COL[j]=matriz[i][j];/*Coloco en COL el candidato a maximo de la columna*/ } for(i=0; (i<9) &&(no_silla ==1);i++) while((j<8) &&(no_silla==1)){ /*comparo si hay algun elemento igual*/ if(FIL[i] == COL[j]){ /*entre los vectores FIL y COL*/ *fila=i; *columna=j; no_silla=0; /*salgo de los bucles. Esta funcion acaba*/ } /* cuando encuentra un punto de silla*/ j++; }/*del while*/ } /*NO he probado este programa, asi que pueden haber errores no previstos*/ ***Ej3 struct DNI { char nombre[50]; char apellidos[50]; long num_dni; /*long por si la maquina tiene enteros de 2 bytes*/ char letra_NIF; }; ---------- struct propietario { char nombre[100]; long num_socio; char direccion[100]; } struct perro { int posicion; char nombre[50]; float peso; struc propietario datos_prop; } ------------ struct pixel { short R; short G; short B; int x; int y; } struct pixel matriz[50]50]; ------------ struct ficha { char tipo[50]; /*caballo, alfil,...*/ char color[15]; } struct casilla { int color; /*1= negro, 0= blanco*/ struct ficha pieza; int vacia; /*1== casilla vacia. 0== casilla ocupada por pieza*/ } /*La estructura del tablero seria una matriz de 8x8*/ struct casilla tablero[8][8];