#include <stdio.h>
// La funzione copia i caratteri di arr1 in arr2 senza ripetizioni
int replica(char arr1[], int dim, char arr2[])
{
int i, j;
if (dim<=0)
return 0;
arr2[0]=arr1[0];
j=1; // j è l'indice di arr2;
for (i=1; i<dim; i++)
if (arr1[i]!=arr1[i-1]){
arr2[j]=arr1[i];
j++;
}
return j;
}
int main()
{
char arr1[7]={'a','b','b','b','c','c','b'};
char arr2[7];
char arr3[3]={'a','a','a'};
char arr4[4]={'a','a','a', 'b'};
int n, i;
n=replica(arr1, 7, arr2);
printf("Valore atteso abcb - Esito: ");
for (i=0; i<n; i++)
printf("%c", arr2[i]);
n=replica(arr3, 3, arr2);
printf("\n\nValore atteso a - Esito: ");
for (i=0; i<n; i++)
printf("%c", arr2[i]);
n=replica(arr4, 4, arr2);
printf("\n\nValore atteso ab - Esito: ");
for (i=0; i<n; i++)
printf("%c", arr2[i]);
return 0;
}
Torna agli esercizi: Esercizi