Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert two 1D arrays into single 2D array

I have 2 1d arrays and i am trying to populate them into a single 2d array in JAVA.

For instance:

a[] = {2,7} 
b[] = {9,1} 

The results should then be:

result[][] = {{2,9}, {7,1}}

This is my code

    import java.util.Arrays;
    import java.util.Scanner;

    public class Main {

public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    System.out.println("Enter Test Cases:\t");
    int t = sc.nextInt();
    int[] a;
    int[] b;
    int i, j, x;
    for (int k = 0; k < t; k++) {
        System.out.println("Enter 1st Array Limit:\t");
        int len = sc.nextInt();

        System.out.println("Enter 2nd Array Limit:\t");
        int len1 = sc.nextInt();
        a = new int[len];
        b = new int[len1];
        System.out.println("Enter Sum Value");
        x = sc.nextInt();
        System.out.println("Enter " + len + " elements:\t");
        for (i = 0; i < len; i++) {
            a[i] = sc.nextInt();
        }
        System.out.println("Enter " + len1 + " elements:\t");
        for (j = 0; j < len1; j++) {
            b[j] = sc.nextInt();
        }
        int [][] c = new int[len][2];
        for (i = 0; i < len; i++) {
            for (j = 0; j < len1; j++) {
                if (a[i] + b[j] == x) {
                    for(int l = 0; i < a.length; i++){
                        c[l][0] = a[i];
                        c[l][1] = b[j];
                    }
                }
            }
        }
        System.out.println(Arrays.deepToString(c));
    }
}
}

This still produces wrong output

i want to find Find all pairs with a given sum

like image 987
Ajinkya Avatar asked Apr 15 '17 17:04

Ajinkya


People also ask

How do you convert a 1D array to a 2D array?

Use reshape() Function to Transform 1d Array to 2d Array The number of components within every dimension defines the form of the array. We may add or delete parameters or adjust the number of items within every dimension by using reshaping. To modify the layout of a NumPy ndarray, we will be using the reshape() method.


1 Answers

int[] a = {2,7};
int[] b = {9,1};
int[][] c = new int[a.length][2];
for(int i = 0; i < a.length; i++){
    c[i][0] = a[i];
    c[i][1] = b[i];
}

should do the trick

like image 149
Elias Fyksen Avatar answered Oct 03 '22 03:10

Elias Fyksen