Salve a tutti ho un urgente bisogno di risolvere questo compito per stasera domani devo consegnarlo per l'esame..
data una matrice quadrata di dimensione n. Stampare la sottomatrice quadrata di ordine k (preso in input) la cui somma degli elementi sia dispari.
ESEMPIO:
26 30 48 32
6 0 44 1
23 11 29 16
12 41 24 6
se l'utente da in input 3 come valore di k allora il programma stampa tutte le sottomatrici 3x3 la cui somma di tutti e 9 gli elementi è dispari, in questo caso stamperà
26 30 48
6 0 44
23 11 29
non posso usare puntatori ho buttato giu un po di codice mi manca la parte finale... vi prego aiutatemi grazie
#include<stdio.h>
#include<stdlib.h>
#define MAXLINE 4
void crea_matrice(int);
void stampa_matrice(int[][],int);
int main(void){
int n;
printf("Inserire la grandezza della matrice: ");
scanf("%d",&n);
crea_matrice(n);
system("PAUSE");
return 0;
}
void crea_matrice(int n){
int A[MAXLINE][MAXLINE];
int i,j;
int r,k;
int somma=0;
int cont=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
r=rand()%50;
A[i][j]=r;
}
}
stampa_matrice(A,n);
}
void stampa_matrice(int A[MAXLINE][MAXLINE],int n){
int i,j,k;
int cont=0;
int somma=0;
for (i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%d\t ",A[i][j]);
}
printf("\n");
}
printf("oridne di k= ");
scanf("%d",&k);
for (i=cont;i<k;i++){
for(j=cont;j<k;j++){
somma+=A[i][j];
if(somma %2!=0){
printf("%d\t ",A[i][j]);
}
}
printf("\n");
}
printf("SOMMA=%d",somma);
}