Domanda:
[C] PROGRAMMAZIONE - Duplicare caratteri in una stringa?
anonymous
2013-04-26 06:38:05 UTC
Ciao , devo scrivere un programma in C che :

Data in input una stringa di lunghezza MAX restituisce una nuova stringa con ogni carattere ripetuto tre volte.
Es: "abcd" = aaabbbcccddd

Suggerimenti?

avendo ad esempio la stringa char str[MAX]="abcd";

Io ho pensato di fare un ciclo
for(i=0;str[i]!='\0';i++){ // In modo che mi copii fino al carattere
vettore_finale[i]=str[i]; terminatore ogni carattere in un altro vettore
}

ma poi come faccio a duplicare per 3 volte ogni carattere??
Tre risposte:
Gianluca
2013-04-29 22:52:20 UTC
Ciao!

Puoi inviare la tua domanda nel forum che trovi nelle fonti. Si tratta di un forum nato da poco riguardante l'informatica, la programmazione e l'elettronica in generale, lì sapranno aiutarti senza dubbio! Basta che ti iscrivi (ovviamente gratuitamente) e in 1 minuto puoi aprire la discussione con il tuo problema! Vedrai che te lo risolveranno subito! Inoltre, puoi aiutare un forum emergente a crescere gr
Toure A
2014-03-02 17:20:26 UTC
E' simplice, ecco il codice





#include

#include



int main()

{

int i, j, k;

char vet[]="abcd";

char tab[50] ;

j=0;

for(i=0;vet[i]!='\0';i++){

if(vet[i]==vet[i])

for(k=0;k<3;k++)

tab[j++] = vet[i] ;

k=0;

}

tab[j++]='\0';

printf("nuova stringa e': %s", tab);



return 0;

}
?
2013-04-26 06:49:48 UTC
char str[MAX] = "abcd";

char vettore_finale[MAX * 3];



for (int i = 0; i < MAX; i++)

{

vettore_finale[i * 3] = str[i];

vettore_finale[i * 3 + 1] = str[i];

vettore_finale[i * 3 + 2] = str[i];

}



---



Oppure una soluzione più generica e flessibile:



const int REPEAT = 3;

char str[MAX] = "abcd";

char vettore_finale[MAX * REPEAT];



for (int i = 0; i < MAX; i++)

{

for (int j = 0; j < REPEAT; j++)

{

vettore_finale[i * REPEAT + j] = str[i];

}

}


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...