[C] Problema copia in array e confronto
Salve :=):
Il mio problema è semplice ma continuo a ricevere un errore nell'output, spero in un vostro aiuto:
"Inserire una stringa, controllare la ripetizione di ogni singolo carattere e stampare quante volte un carattere e ripetuto"
Io ho risolto parzialmente il problema in questo modo:
Codice:
#include<stdio.h>
#include<string.h>
#define M 80
main(){
char stringa[M],controllo[M];
int i=0,j,c=0,count;
printf("INSERIRE TESTO: ");
gets(stringa);
while(i<strlen(stringa)){
for(j=0;j<strlen(stringa);j++){
if(stringa[i]==stringa[j]) c++;
}
printf("%c SI RIPETE %d VOLTE\n\n",stringa[i],c);
c=0;
i++;
}
system("pause");
}
L'output è il seguente:
Codice:
INSERIRE TESTO: mamma
m SI RIPETE 3 VOLTE
a SI RIPETE 2 VOLTE
m SI RIPETE 3 VOLTE
m SI RIPETE 3 VOLTE
a SI RIPETE 2 VOLTE
Per ottenere ciò che voglio, ovvero:
Codice:
m SI RIPETE 3 VOLTE
a SI RIPETE 2 VOLTE
Avevo pensato di introdurre un altro array dove immagazzinare le lettere analizzate e poi confrontarle per vedere se dopo la prima volta vengono "analizzate" ancora.
Non so se sono stato chiaro..
Sapete darmi una mano? :tongue
Thanks
RISOLTO
L'algoritmo era giusto ma quando ho trascritto il codice ho omesso un passaggio essenziale :)