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);
}
}