ciao a tutti,avrei un problema,stavo cercando di realizzare un programma che permettesse,una volta inserite 3 stringhe in una matrice,di cercare una lettera a scelta e tenerne il conto per ogni singola riga.Tentando e ritentando sono arrivato qui
il problema penso sia da attribuire all'if,ho pensato che così facendo sarebbe andato a confrontare ogni singola cella con la lettera scelta,ma non sono molto sicuro del fatto che si possa impostare in quel modo. Come risultato,indipendentemente da quello che scrivo o cerco è sempre 1 1 2, anche se non c'è nemmeno la lettera cercata esce sempre quella combinazione.Devo aver fatto un errore enorme e che solo io non sono capace di vederecodice:#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char mat[3][20]; int i,j,c; char search; for(i=0;i<3;i++) { printf("\n parola %d \n",i+1); scanf("%s%*c",mat[i]); printf("\n"); } printf("inserisci lettera da cercare: "); scanf("%c",&search); printf("\n\n ora conteggerò le %c presenti in ogni parola\n",search); for(i=0;i<3;i++) { c=0; for(j=0;j<20;j++) { if(mat[i][j]==c) { c++; } } printf("\n nella parola %d ci sono esattamente %d lettere %c \n",i+1,c,search); } printf("\n\n controlla tu stesso!\n"); for(i=0;i<3;i++) { printf("riga %d",i+1); for(j=0;j<strlen(mat[i]);j++)/*strlen(mat[i]) fa in modo che vengano stampate solo le lettere nella stringa i,in modo da non stampare il contenuto delle delle celle avanzate,quindi j<lunghezza della riga i-esima della matrice*/ { printf("%2c",mat[i][j]); /*attenzione qui ho messo %c invece che %s perchè non viene considerata la stringa,ma ,invece,viene immesso ogni singolo carattere ogni volta*/ } printf("\n\n"); } system("PAUSE"); return 0; }grazie ciao!

grazie ciao!
Rispondi quotando