#include <stdio.h>
#include <stdlib.h>
#define TAMA 10
/*-----Funcion-submatriz-en-array------------------------------------------*/
int subalgoritmo(int array[TAMA][TAMA], int fpe, int cpe, int fue, int cue, int vector[90]){
int i, j, a=0;
for(i=fpe-1; i<fue; i++){ /*2*/
for(j=cpe-1; j<cue; j++){
vector[a]=array[i][j];
a++; /*no modifica ni muestra el vector*/
}
}
}
/*------------------------------------------------------------------------*/
int main (void){
int dimension;
int i, j;
int matriz[TAMA][TAMA];
int fpe, cpe; //fpe == fila primer elemento /*1*/
int fue, cue; //cue == columna ultimo elemento
int vector[90];
printf("Indique la dimension de la matriz cuadrada: ");
if(dimension<3 || dimension>10){
printf("El numero no es correcto. Debe estar entre 3 y 10. Repita: "); }
printf("Complete la matriz: n"); for(i=0; i<dimension; i++){
for(j=0; j<dimension; j++){
printf("elemento[%i][%i]: ", i
, j
); scanf("%i", &matriz
[i
][j
]); }
}
for(i=0; i<dimension; i++){
for(j=0; j<dimension; j++){
}
}
printf("nIndique la posicion de la submatriz.n"); printf("Coordenadas primer elemento (primero 'fila' y luego 'columna'): "); scanf("%i %i", &fpe
, &cpe
); printf("Coordenadas ultimo elemento (primero 'fila' y luego 'columna'): "); scanf("%i %i", &fue
, &cue
);
printf("nSubmatriz: (%i,%i) , (%i,%i)n", fpe
, cpe
, fue
, cue
);
vector[90]=subalgoritmo(matriz, fpe, cpe, fue, cue, vector);
printf("nSubmatriz: (%i,%i) , (%i,%i) en forma vectorial: %in" , fpe, cpe, fue, cue, vector[90]);
return 1;
}
/*1-> "pef, pec, uef, uec": delimitan la submatriz. Seran usados en la funcion
como contadores de inicio y fin de bucle. Donde empieza y donde termina la
submatriz (posicion (fila,columna) del primer y ultimo elemento)*/
/*2-> Copia los valores de la submatriz en el vector*/