English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Per separare gli zeri dagli elementi non zero in un array di interi e spostarli alla fine, è necessario riorganizzare l'array assegnando in sequenza tutti gli elementi non zero alla loro posizione partendo da zero. Poi, riempie il resto dell'array con zeri da fine a inizio.
Il successivo programma Java sposta tutti gli zeri dell'array alla fine.
import java.util.Arrays; import java.util.Scanner; public class ZerosFromNonZeros {}} public static void main(String args[]){ //Leggi l'array dall'utente Scanner sc = new Scanner(System.in); System.out.println("Inserisci la dimensione dell'array da creare: "); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("Inserisci gli elementi dell'array: "); for(int i=0; i<size; i++){ myArray[i] = sc.nextInt(); } System.out.println("L'array creato è: " + Arrays.toString(myArray)); System.out.println("Array risultante: "); int pos = 0; for(int i=0; i<myArray.length; i++){ if(myArray[i]!=0){ myArray[pos]=myArray[i]; pos++; } } while(pos<myArray.length) { myArray[pos] = 0; pos++; } System.out.println("L'array creato è: " + Arrays.toString(myArray)); } }
Risultato dell'output
Inserisci la dimensione dell'array da creare: 8 Inserisci gli elementi dell'array: 14 0 56 0 12 47 0 0 L'array creato è: [14, 0, 56, 0, 12, 47, 0, 0] Array risultante: L'array creato è: [14, 56, 12, 47, 0, 0, 0, 0]
Inserisce gli zeri all'inizio dell'array nello stesso modo, itera sugli elementi dell'array dall'ultimo verso il primo, posizionando ogni elemento non zero nella sua posizione. Infine, riempie il resto delle posizioni con zeri.
Riorganizza l'array assegnando in sequenza tutti gli elementi non zero alla loro posizione partendo da zero. Poi, riempie il resto dell'array con zeri da fine a inizio.
Il successivo programma Java sposta tutti gli zeri dell'array all'inizio.
import java.util.Arrays; import java.util.Scanner; public class ZerosFromNonZeros {}} public static void main(String args[]){ //Leggi l'array dall'utente Scanner sc = new Scanner(System.in); System.out.println("Inserisci la dimensione dell'array da creare: "); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("Inserisci gli elementi dell'array: "); for(int i=0; i<size; i++){ myArray[i] = sc.nextInt(); } System.out.println("L'array creato è: " + Arrays.toString(myArray)); System.out.println("Array risultante: "); int pos = myArray.length-1; for(int i = myArray.length-1; i>=0; i--){ if(myArray[i]!=0){ myArray[pos]=myArray[i]; pos--; } } while(pos>=0) { myArray[pos] = 0; pos--; } System.out.println("L'array creato è: " + Arrays.toString(myArray)); } }
Risultato dell'output
Inserisci la dimensione dell'array da creare: 8 Inserisci gli elementi dell'array: 14 0 56 0 12 47 0 0 L'array creato è: [14, 0, 56, 0, 12, 47, 0, 0] Array risultante: L'array creato è: [0, 0, 0, 0, 14, 56, 12, 47]