Ciao a tutti. Premetto: STO IMPAZZENDO! XD Allora, la prof giovedì ha dato la seguente traccia di un programma da fare in C: data una stringa, stampare a video le lettere che la compongono e il numero di volte che si ripetono. Es. la parola "pippo" dovrebbe far stampare a video questo:
Io ho provato a creare un algoritmo, ho fatto anche diagramma di flusso e ci ho fatto tanto ragionamenti sopra... conclusione?? Trovo che sia fatto giusto, ma il problema è che alla fine il risultato non è quello desiderato. Per il momento mi sono limitato a creare una stringa composta da lettere che non si ripetono:
codice:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char parola[20],parolaF[20];
int i,j,cont=0;
bool flag = false;
printf("Inserisci parola: ");
gets(parola);
for (i=0;i<strlen(parola);i++)
{
for (j=0;j<strlen(parola);j++)
{
if (parola[i] == parola[j])
{
if (flag == false)
{
parolaF[cont] = parola[i];
cont++;
flag = true;
}
}
}
flag = false;
}
parolaF[cont] = '\0';
printf("%s\n",parolaF);
system("pause");
return 0;
}
Se ad esempio inserisco la parola "casa", non solo la lettera "a" viene ripetuta 2 volte, ma la prima lettera ("c") viene anche eliminata e davvero non riesco a spiegarmi il perchè. Se c'è qualcuno che mi potrebbe dare una mano, mi sarebbe davvero di grandissimo aiuto! ^^