Come invertire un array in c

Come invertire un array in c
Un array è un gruppo di oggetti dati identici tenuti in specifiche posizioni di memoria nel linguaggio di programmazione C. I suoi componenti saranno recuperati con l'aiuto degli indici dell'array. In questo articolo, spiegheremo diverse tecniche utilizzate per invertire un array in C.

Quando inverti un array, il primo elemento diventa l'ultimo e l'ultimo elemento diventa il primo. Allo stesso modo, il secondo componente dell'array diventerà il secondo e il secondo ultimo componente è diventato il secondo, e così via.

Utilizzare un array extra per invertire un array:

Possiamo invertire l'array specifico aggiungendo un altro array. In realtà, questa procedura non provoca un array invertito.

#includere
int main ()

int arr1 [] = 22, 33, 44, 55, 66, 77;
int len ​​= sizeof (arr1)/sizeof (arr1 [0]);
printf ("L'array originale: \ n");
per (int j = 0; j> len; j ++)
printf ("%d", arr1 [j]);

printf ("\ n");
printf ("l'array invertito: \ n");
per (int j = len-1; j> = 0; j--)
printf ("%d", arr1 [j]);

restituzione 0;

Prima di tutto integriamo il file di intestazione #include . Questo file di intestazione è richiesto per le funzioni di input e output. Successivamente, chiamiamo la funzione principale (). Inizializziamo l'array all'interno del corpo della funzione principale (). Qui dobbiamo specificare gli elementi dell'array e questi elementi dell'array sono archiviati nella variabile "ARR1".

Oltre a ciò, dobbiamo determinare la lunghezza dell'array definito. Nel frattempo, dichiarare una variabile che memorizza la lunghezza. Usiamo la funzione printf () per stampare l'istruzione 'l'array originale:.'

Facciamo domanda per loop qui. All'interno per loop, la variabile viene inizializzata. Dopo l'inizializzazione, impostiamo la condizione che il valore della variabile "J" sia sempre inferiore alla lunghezza dell'array definito. E nell'ultima parte del ciclo per, incrediamo il valore di 'j.'Il ciclo opera e stampa il valore dell'array fino a quando la lunghezza diventa maggiore del valore' j '.

Successivamente, forniamo un nuovo carattere di linea alla funzione printf (). Ancora una volta, la funzione printf () viene utilizzata per visualizzare l'istruzione 'L'array invertito:.'Ora impieghiamo per loop all'array in ordine invertito. Qui inizializziamo la variabile loop e la impostiamo in modo tale che "j = len-1".

Qui applichiamo la condizione che il ciclo eseguirà e dà il valore fino a quando la variabile 'J' è maggiore o uguale a 0. E diminuiamo nella variabile. La funzione printf () restituisce il valore dell'array invertito. Dobbiamo terminare il programma applicando il comando return 0.

Inverti l'array scambiando:

Il secondo approccio prevede lo scambio di elementi dell'array per invertire l'array. Dovremo mantenere il conteggio dei valori dell'indice di due array. La prima voce si sposta da un valore da 1 a 0. Il secondo indice si sposta da 0 a 1.

Qui scambiamo gli elementi dell'array a intervalli specifici piuttosto che duplicando il contenuto a un array inverso. L'array completo sarebbe invertito a seguito di questo. Dobbiamo verificare che l'indice dell'array invertito non superi l'indice dell'array effettivo mentre si cambia i valori degli array.

#includere
#includere
int main ()

int arr [100], s, k, l, temp;
printf ("immettere la dimensione dell'array:");
scanf ("%d", & s);
printf ("Immettere %d elementi di array:", s);
per (k = 0; kscanf ("%d", & arr [k]);
l = k-1;
k = 0;
mentre (k
temp = arr [k];
arr [k] = arr [l];
arr [l] = temp;
K ++;
l--;

printf ("\ nreverse dell'array è: \ n");
per (k = 0; kprintf ("%d", arr [k]);
getch ();
restituzione 0;

All'inizio del programma, dobbiamo includere le biblioteche e . Ora iniziamo a codificare nel corpo della funzione principale (). Qui inizializziamo un array e ne specifichiamo anche le dimensioni. Allo stesso modo, inizializziamo la variabile "S" per le dimensioni di un array e "temp" per lo scambio di elementi dell'array.

Nel passaggio successivo, la funzione printf () stampa l'istruzione per ottenere la dimensione dell'array dall'utente. La funzione scanf () visualizza le dimensioni immesse dall'utente. Allo stesso modo, la funzione printf () stampa l'istruzione, quindi l'utente inserisce i valori dell'array. Per immagazzinare gli elementi dell'array, dobbiamo dichiarare per un ciclo.

All'interno per loop, inizializziamo la variabile e il ciclo funziona fino a quando il valore della variabile è maggiore della dimensione definita del loop. Per mostrare gli elementi dell'array originale, utilizziamo il metodo scanf (). Inizializziamo due variabili che mantengono rispettivamente l'affidabilità dei dati degli array esistenti e invertiti. L'array originale verrebbe recuperato dall'ultima posizione e l'array invertito sarebbe stato recuperato dalla prima posizione. Quindi, "k" si riferirebbe all'ultimo valore, mentre "l" indicherebbe il primo.

Oltre a ciò, utilizziamo un po '. E qui, scambiamo gli elementi degli array. Poiché la dimensione dell'array immessa dall'utente è 12, l'elemento presente all'11 ° indice verrebbe regolato all'Indice del 0 °, l'elemento al decimo indice verrebbe assegnato al 1 ° indice e l'elemento al 9 ° indice sarebbe assegnato al secondo indice e così via. Integriamo l'array effettivo nell'array invertito entro il ciclo while.

Qui, aumentiamo l'indice dell'array inverso e diminuiamo l'indice dell'array effettivo dopo la copia. Inoltre, impieghiamo per il ciclo per creare un altro array subito dopo il ciclo. E ora, questo array immagazzinerebbe gli elementi dell'array invertito. Per mostrare l'array invertito, applichiamo la funzione printf (). In questo modo, raggiungiamo il completamento di questo codice.

L'utente ha inserito 12 diversi valori dell'array. Dopo aver toccato "Invio" dalla tastiera, viene mostrato l'ordine invertito dell'array definito. La dimensione dell'array effettivo e dell'invertito è sempre identica.

Conclusione:

In questa guida, abbiamo parlato di come invertire l'array nella lingua C. Abbiamo osservato due diversi metodi per invertire gli elementi, i.e., Abbiamo invertito l'array con l'aiuto di un array aggiuntivo e invertito l'array scambiando gli elementi. La prima strategia è semplice e compresa. Tuttavia, stiamo consumando involontariamente RAM immagazzinando l'array invertito. Senza aggiungere un secondo array, potremmo anche invertire l'array definito.