Ciao a tutti!
Mi serve un po' del vostro aiuto..
/*
*C'è una matrice A di dimensione MxN di caratteri ed un array B di lunghezza L=MxN. In ogni ennupla di B ci sono solo maiuscoli o solo minuscoli.
*Bisogna scrivere un programma che copi in A i valori di B inserendo ogni ennupla in una riga in modo che nelle prime righe siano inserite le ennuple con caratteri maiuscolo e nelle ultime righe le ennuple con caratteri minuscoli..
Ex: M=5,N=3,L=15
B="lol PAL YES kit POP"
A=
PAL
YES
POP
lol
kit
*/
Sto cercando di risolvere questo esercizio sui array bidimensionali. E sono riuscito ad identificare quali sono le ennuple di caratteri maiuscoli e quelli minuscoli. Ma nel momento in qui queste ennuple devono essere copiate nella matrice, non so come si deve applicare i vari cicli in maniera adatta. Qualcuno mi può dare una mano con la funzione copia..?
Ecco quello che sono riuscito a fare fino ad ora..:
Qualsiasi tipo di aiuto verrà apprezzato tanto!codice:#include<stdio.h> int colmax; void copia(char A[][colmax],char B[],int M,int N,int i){ //Qui vengono copiati i caratteri del B in A ... ?!?help! } void controlla(char A[][colmax],char B[],int M,int N,int L){ int i,colonna,riga; //Cerca le ennuple maiuscoli for(i=0;i<L;i+=N){ if(B[i]>='A' && B[i]<='Z'){ copia(A,B,M,N,i); } } //Cerca le ennuple minuscoli for(i=0;i<L;i+=N){ if(B[i]>='a' && B[i]<='z'){ copia(A,B,M,N,i); } } //Stampa matrice A for(riga=0;riga<M;riga++){ for(colonna=0;colonna<N;colonna++){ printf("%c ",A[riga][colonna]); } printf("\n"); } } int main(){ int M=5,N=3,L=M*N; char B[]="casMARSONpalESA"; char A[M][N]; colmax=N; controlla(A,B,M,N,L); printf("\n\n"); system("pause"); return 0; }
Grazie!![]()

Rispondi quotando