Input array 1,2,3,4,5,6 Output 1,3,5,0,0,0 Remove even nos and fill it with zeros U can use only one loop for ur logic Two variables apart from the array.
Try the following code friend may, this will be helpful for you.
class RemoveEvenNumber { int a[] = new int[]{1,2,3,4,5,6}; int b [] = new int[a.length]; public void removeEvenNumber() { int i = 0; while(i< a.length) { if(a[i] % 2 == 0) { a[i]=0; } else if(a[i] % 2== 1) { b[i]=a[i]; } System.out.print(b[i]+","); i++; } } public static void main(String args[]) { RemoveEvenNumber remove = new RemoveEvenNumber(); remove.removeEvenNumber(); } }
Here is the program :
import java.util.Scanner; /** * @author JavaWithUs * www.javawithus.com */ public class RemoveEvenNumbers { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("Enter length of array: "); int[] arr = new int[s.nextInt()]; System.out.println("Enter elements:"); for (int i = 0; i < arr.length; i++) { arr[i] = s.nextInt(); } int numberOfZeroes = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] % 2 == 0) { arr[i] = 0; numberOfZeroes++; } } System.out.println("Modified array:"); for (int i = 0; i < arr.length; i++) { if (arr[i] != 0) { System.out.print(arr[i] + " "); } } for (int i = 0; i < numberOfZeroes; i++) { System.out.print("0 "); } } }
Here is the output :
Enter length of array: 6 Enter elements: 1 2 3 4 5 6 Modified array: 1 3 5 0 0 0
To learn about arrays, see these pages :
public class Evenodd {
public static void main(String[] args) {
int g=0,i;
int a[ ]={1,2,3,4,5,6};
int n=a.length;
for(i=0;i
/*
One Loop and two variables are used. Runtime o(n*n)
*/
public class OneLoopTwoVariables {
public static void main(String x[]) { int xArray[]={1,2,3,4,5,6,7}; int xCnt=0,xTmp=0; for(int i=0;i<xArray.length;i++) { if(xCnt==0 ) { if(xArray[i]%2 == 0) { xArray[i]=0; } } else if(xCnt == (xArray.length * xArray.length)) { System.out.print(xArray[i]); } else { if(xArray[i] == 0) { if(i+1 != xArray.length) { xTmp = xArray[i+1]; xArray[i+1] = 0; xArray[i] = xTmp; } } } if(i == xArray.length-1) { i=-1; xCnt+=1; if(xCnt == (xArray.length * xArray.length)+1){ break; } } } }
}
private int[] a = { 1, 2, 3, 4, 5, 6 };
private void removeEven() { for (int i = 0; i < a.length; i++) { if (a[i] == 0 || a[i] % 2 == 0) { traverseArray(i); } System.out.print(a[i]); if (i != a.length - 1) System.out.print(", "); } } private void traverseArray(int i) { if (i != a.length - 1) { a[i] = a[i + 1]; a[i + 1] = 0; traverseArray(i + 1); } }
Ads