Nel main() devi richiamare la funzione scambio così come fai nella funzione inverti, dereferenziando le due variabili X e n tramite l'operatore & (che invia la locazione di memoria della variabile, invece del suo contenuto)
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
codice:#include <stdio.h> #include <stdlib.h> void inverti (int *X, int n); void scambio (int *a, int *b); void kbd_clean(void); int main () { int *X, n, i; printf("quale è la dimensione del tuo array?"); scanf("%d", &n); X=(int *)malloc(n*sizeof(int)); for (i=0; i<n; i++) { printf ("Inserisci X[%d]: ", i); scanf ("%d", &X[i]); } kbd_clean(); inverti (X,n); for (i=0; i<n; i++) { printf ("X[%d] %d \n", i, X[i]); } getchar(); return 0; } // FUNCTION void inverti (int *X, int n) { int i; for (i=0; i<(n/2); i++) { scambio (&X[i], &X[n-1-i]); } } void scambio (int *a, int *b) { int tmp=*a; *a=*b; *b=tmp; } void kbd_clean() { register char ch; while (((ch = getchar()) != '\n') && (ch != EOF)); }
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
si, è sempre C, da cosa ti viene questo dubbio ?
la getchar() la uso per attendere la pressione del tasto INVIO affinché la console non si chiuda subito, ed avere così il tempo di leggere il risultato.
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
Per la kdb_clean() guarda qui il post dell'ottimo M.A.W. 1968
Ti sconsiglio di usare il Dev-C++, è un pessima scelta, questo ide è obsoleto e buggato.
Il mio codice compila tranquillamente senza errori ne warning, su qualsiasi compilatore decente
Che errori ottieni ?
Edit:
Penso di aver capito, elimina la riga
codice:// FUNCTION
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
quello lo fatto, quale compilatore mi consigli? gli errori che mi da sono i seguenti
linea 11 main.c conflicting types for 'scambio'
linea 6 main.c previous implicit declaration of 'scambio' was here
In function `kbd_clean':
linea 20 `EOF' undeclared (first use in this function)
Per windows le opzioni principali sono
MS Visual Studio (free)
oppure
Code::Blocks
posta il codice che ti da quegli errori
Ultima modifica di Samuele_70; 02-01-2015 a 23:49
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.