View Full Version : Problemi con C !
Ciao ragazzi!
Devo fare una funzione in C che mi formatti un testo in ingresso invertendo le righe a triple (la terza diventa la prima e la prima diventa la terza; la sesta diventa la quarta e la quarta diventa la sesta; ...)
Sto diventando matto! Non ci riesco! :muro:
Qualcuno sa darmi una mano? :ave:
Grazie... ciao! ;)
Spero di aver interpretato bene quale sia il problema.
Dovresti creare, per esempio, un array di puntatori a char, ognuno dei quali punta ad una stringa: quindi ogni stringa rappresenta una riga. La funzione che svolge il lavoro scambia semplicemente i puntatori.
# define MAX 80 /* num. di elementi dell'array di puntatori */
# define LUNGH 81 /* ogni stringa contiene non piu' di 80 caratteri */
void Scambia(char *[], int, int); /* dich. di funzione */
int main()
{
char *array[MAX]; /* array di MAX puntatori a char */
int gap, N; /* gap è la distanza tra le righe da scambiare */
...
Scambia(array, N, gap); /* chiamata di funzione */
...
return 0;
}
void Scambia(char *a[], int n, int g)
{
int i;
char *temp; /* puntatore temporaneo a char*/
for(i=0; i<n-g; i+=g+1)
{
temp=a[i];
a[i]=a[i+g];
a[i+g]=temp;
}
return;
}
Nel tuo caso, la variabile gap vale 2: terza riga - prima riga = 2
sesta riga - quarta riga = 2, etc.
grazie mille per l'aiuto!!!
ce l'ho fatta! :winner:
ciao e grazie!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.