1-D Array into 2-D Array

Hi: I need help on how to copy contents of a 1-D array into a 2-D array.
For Example:
int[] a = {0,1,2,3,4,5,6,7};
into:
int[][] b = {{0,1,2,3},{4,5,6,7}};
Can someone please help me with ideas?
Thanks

So, how do I copy the content of an 1-d array ofsize
say 8 into a 2-d array of size 2x4?By writing the appropriate code of course.
(I know how to do it, but spoon-feeding it to youdoes you no good actually)
If you already know how to do it, why re-inventing
the wheel? If you do not want to suggest me, then
don't say anything. It is not like I did not try
anything; I tried it, but it did not work,So post what you tried and what results you saw. (As noted earlier, your previous code and output do NOT go together.)
And why not try what I suggested--adding print statements so that you can actually unerstand what your code is doing?
And/or step through the code manually as somebody else suggested?
then only
I posted the question on the forum to get some help
from someone - not for telling me that someone knows
the answer and he does not want to spoon-feed me.There's nothing to be gained by somebody handing you the answer. Most people come here to help others learn. Handing you the answer when you get stuck will simply stunt your education. You need to work through it yourself as much as possible, with a nudge here and there to get you going again when you get really stuck.

Similar Messages

  • Huge String Array into smaller different arrays

    Hello,
    I have an requirement wherein i'll be getting a huge array of Strings (say 10000) elements. This number is variable.
    Now i have to break the same into smaller chunks/arrays (say 100 element each).
    Thanks,
    Piyush

    Hi,
    try this.
    TYPES :
      BEGIN OF type_s_fs,
      field(100) TYPE c,
    END OF type_s_fs.
    DATA fs TYPE type_s_fs.
    DATA itab LIKE STANDARD TABLE OF fs.
    DATA itab1 LIKE STANDARD TABLE OF fs.
    DATA w_d TYPE i.
    w_d = STRLEN( w_c ).-----> ( Declare ur longstring here  with w_c )
    DIVIDE w_d BY 100.
    add 1 to w_d.
    DATA w_t TYPE i.
    DO w_d TIMES.
      fs-field = w_c+w_t(100).
      APPEND fs TO itab.
      CLEAR fs.
      ADD 100 TO w_t.
    ENDDO.
    LOOP AT itab INTO fs.
    write :/ fs-field.
    ENDLOOP.
    With this u can split at 100 characters into single internal table.
    Now , loop at this table and assign each record to required internals tables just by reading 1 row.
    Or
    make use of fieldsymbols.

  • Copying Multiple Arrays into One Large Array

    I'm currently trying to copy multiple character arrays into one larger character array in a method that prints data gathered from a database. Here is my code:
    private static void printData(String[] data){
            try {
                int totalLengthOfAllStrings = 0;
                for(int i = 0; i < data.length; i++) {
                    data[i] += '\n';
                    totalLengthOfAllStrings += data.length();
    int runningLength = 0;
    char[] printArray = new char[totalLengthOfAllStrings];
    for(int j = 0; j < data.length; j++) {
    char[] tempArray = data[j].toCharArray();
    runningLength += tempArray.length;
    System.arraycopy(tempArray, 0, printArray, runningLength - 1, tempArray.length);
    DocFlavor df = DocFlavor.CHAR_ARRAY.TEXT_PLAIN;
    Doc printDoc = new SimpleDoc(printArray, df, null);
    PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
    aset.add(new Copies(1));
    aset.add(MediaSize.NA.LETTER);
    aset.add(Sides.DUPLEX);
    PrintService[] services = PrintServiceLookup.lookupPrintServices(df, aset);
    if (services.length > 0) {
    DocPrintJob job = services[0].createPrintJob();
    try {
    job.print(printDoc, aset);
    System.out.println("Print successful!");
    catch (PrintException pe) {
    catch(Exception e) {
    e.printStackTrace();
    I keep getting an ArrayIndexOutOfBoundsException and for the life of me I can't figure out why.
    Can anyone help with this?
    Thanks!
    -Matt

    I think your problem lies with the second for loop:
    for(int j = 0; j < data.length; j++)  {
        char[] tempArray = data[j].toCharArray();
        runningLength += tempArray.length;
        System.arraycopy(tempArray, 0, printArray, runningLength - 1, tempArray.length);
    }If I am not wrong, you should swap the sequence of the runningLength and System.arraycopy statements, and also move the minus 1 from arraycopy statement to the runningLength statement. The result would look like this:
    for(int j = 0; j < data.length; j++)  {
        char[] tempArray = data[j].toCharArray();
        System.arraycopy(tempArray, 0, printArray, runningLength, tempArray.length);    // swapped and removed the -1
        runningLength += tempArray.length - 1;    // swapped and appended the -1
    }The main reason for these changes is because when j == data.length - 1, the value of runningLength would have already exceeded the size of printArray. Therefore, swapping the position would be able to overcome this problem.

  • Need to convert a 2D array into two 1D arrays to be fed into Build XY Graph

    Hi Need to convert the 2D Output of a sub vI for display on XY Graph. Help!!! I cant find an array function that takes a 2D input and un-builds to 2 * 1D arrays

    Hi Dave,
    if it is working than that's it.
    I'm using the german version of LabView and it is sometimes difficult to translate the names ;-)
    Stephan

  • Variable number of two dimensional arrays into one big array

    I have a variable number of two dimensional arrays.
    The first dimension is variable, the second dimension is always 7.
    i.e.:
    Object[][] array0 = {
    {"tim", "sanchez", 34, 175.5, "bla", "blub", "[email protected]"},
    {"alice", "smith", 42, 160.0, "la", "bub", "[email protected]"},
    Object[][] array1 = {
    {"john", "sdfs", 34, 15.5, "a", "bl", "[email protected]"},
    {"joe", "smith", 42, 16.0, "a", "bub", "[email protected]"},
    Object[][] arrayi = ...I'm generating these arrays with a for-loop:
         for (int i = 0; i < filter.length; i++) {
              MyClass c = new MyClass(filter);
              //data = c.getData();
    Where "filter" is another array which is filled with information that tells "MyClass" how to fill the arrays.
    "getData()" gives back one of the i number of arrays.
    Now I just need to have everything in one big two dimensional array.
    i.e.:Object[][] arrayComplete = {
    {"tim", "sanchez", 34, 175.5, "bla", "blub", "[email protected]"},
    {"alice", "smith", 42, 160.0, "la", "bub", "[email protected]"},
    {"john", "sdfs", 34, 15.5, "a", "bl", "[email protected]"},
    {"joe", "smith", 42, 16.0, "a", "bub", "[email protected]"},
    Any idea on how to accomplish this? It's blowing my mind right now.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Just brainstorming here:
    Why not put your actual data in a class and store that in a LinkedList (so you know the total number of elements for your multi-dimensional array). Then initalize your multi-dimensional array and populate it? Haven't tested the following, but thinking something along the lines of
    public class MyData {
         //data here
         public Object[] toArray() {
              //something similar to this
              return new Object[] = {"tim", "sanchez", 34, 175.5, "bla", "blub", "[email protected]"};
    LinkedList<MyData> data = new LinkedList<MyData>();
    data.add(mydata1);
    //however many times you need
    Object[][] arrayComplete = new Object[data.size()][7];
    for(int i = 0; i < data.size(); i++) {
         arrayComplete[i] = data.removeFirst().toArray();
    }Another option for knowing how many rows you would need might be using something like:
    int rows = 0;
    rows += array1.length;
    rows += array2.length;
    //etc...But is not entirely useful if you don't know how many variable arrays you have (although reflections might help if the name of the array variable is incremented systematically, someone told me earlier to avoid reflections since it could make debugging a LOT more difficult).
    Edited by: bogdana on Apr 1, 2010 10:38 AM

  • Splitting mulit-dime​nsional array into 1-D array

    Hi,
    I am a new user learning fudamentals in labview....
    I have an Numeric Array of 4-columns and many rows,the rows keeps growing...
    I need to read the data by column wise and plot it on the xy-graph.
    plotting should be like this ..........
            2nd column data in x-axis and(should be used as x-scale) ........to plot the y-axis data with reference to x-axis scale
             3rd column and 4th column data in y-axis..
    please give some example vi's to read the array by row-wise...
    Regards
    Rajasekar

    A nice feature of the Index Array that you might not know as a beginner is that it is expandable.  I think the attached code is basically what you are looking for.
    Attachments:
    Example.vi ‏15 KB

  • Averaging 3D array into 1D array.

    Hi,
    I have a 3D array containing XY points of several loops and
    i am trying to average the data points of my array into a 1D array that should
    contain 1Loop with XY points. Can someone help me out?
    Thanks 
    Mutah
    Qui ose vaincra.
    Solved!
    Go to Solution.

    Hi Mutah,
    it really doesn't help so much...
    There is no 3D array in your VI, just two 2D arrays. You also don't mention what to average in those arrays: rows, columns, or something completely different?
    Also: what do you mean by "loop" ("see a loop", "final loop")? Do you mean FOR loops, WHILE loops? Or rows/columns of an array?
    At least a small hint in the attachment...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    program.vi ‏136 KB

  • Pushing array into array

    lets say I have
    var myAr:Array = new Array(value, value2, value3);
    var holdAr:Array = new Array();
    holdAr.push(myAr);
    when I trace out holdAr: value, value2, value3
    however, if I trace out holdAr[0], I get the same as tracing
    holdAr.... how can I push an array into a new array and keep the
    indexes?

    You are only adding one element to the array holdAr. That
    element is an array with three indices. I think you need to add the
    elements one at a time to get what you're looking for.

  • Combine Columns From Separate Arrays Into One Formatted Table

    What I'm trying to do is make two WMI queries with 2 different classes for a list of machines and then patch the columns together into one single array that is formatted as a table with columns and rows. I seem to keep banging my head against the wall and
    I can't help but feel that the answer is simple. I can certainly create an array that contains all 3 columns (such as in the commented out part) but no matter which angle I go at it, it always seems to end up as all the data in one single row in each column
    rather than a nicely formatted table. I've even tried constructing separate custom objects and adding the different objects to the array but that's obviously not working. Below is the code of the last thing I tried. I need someone to bash it to death and tell
    me the (most likely obvious) thing that I'm doing wrong. Thanks!
    $failedos = @()
    $failedcs = @()
    $ccs = get-adcomputer -property operatingsystem -filter {name -like "*-CC*"} | select name | sort name
    $cs = foreach ($cc in $ccs){$cc.name | % {if ($c=get-wmiobject -computername $cc.name -class win32_computersystem -ErrorAction SilentlyContinue){$c | select @{Name="Name";Expression={$_.Name}}, @{Name="Model";Expression={$_.Model}}} else {$failedcs += "$_"}}}
    $os = foreach ($cc in $ccs){$cc.name | % {if ($o=get-wmiobject -computername $cc.name -class win32_operatingsystem -ErrorAction SilentlyContinue){$o | select @{Name="OperatingSystem";Expression={$_.caption}}} else {$failedos += "$_"}}}
    #[array]$osprops = @{'Name'=$cs.Name;'Model'=$cs.Model;'OperatingSystem'=$os.OperatingSystem}
    $result = @()
    Foreach ($Line in $cs) {
    $MyCustomObject = New-Object -TypeName PSObject
    Add-Member -InputObject $MyCustomObject -MemberType NoteProperty -Name "Name" -Value $Line.name -Force
    Add-Member -InputObject $MyCustomObject -MemberType NoteProperty -Name "Model" -Value $Line.Model -Force
    $result += $MyCustomObject
    foreach ($Line2 in $os) {
    $MyCustomObject2 = New-Object -TypeName PSObject
    Add-Member -InputObject $MyCustomObject2 -MemberType NoteProperty -Name "OperatingSystem" -Value $Line2.OperatingSystem -Force
    $result += $MyCustomObject2

    Any help?
    $ccs = get-adcomputer -property operatingsystem -filter {name -like "*-CC*"} |
    select -ExpandProperty name | sort
    $Result =
    Foreach ($CC in $CCs)
    $Object =
    New-Object PSObject -Property @{ Name = $CC
    Model = 'Failed'
    OperatingSystem = 'Failed'
    Try {
    $Object.Model =
    get-wmiobject -computername $CC -class win32_computersystem -ErrorAction Stop |
    select -ExpandProperty Model
    $Object.OperatingSystem =
    get-wmiobject -computername $CC -class win32_operatingsystem -ErrorAction Stop |
    select -ExpandProperty Caption
    Catch{}
    Finally { $Object }
    [string](0..33|%{[char][int](46+("686552495351636652556262185355647068516270555358646562655775 0645570").substring(($_*2),2))})-replace " "

  • About combing two array into one

    Hi all,
      I post a questiona bout converting an array of integer into char (byte) array and I got a solution already http://forums.ni.com/t5/LabVIEW/how-to-display-char-code-properly/m-p/2596087#M780368
    However, I enouther another problem while dealing with an array of  U16 type. I would like to extract the high and low byte from numbers (U16) stored in array. I extract the high and low byte for each U16 number and convert them as char, concatenate them to a string. Repeat this process for each element in the array so to get a big string with each element is a char for high and low byte. My code is enclosed as follows
    It works fine but I am concerning the speed. Is that any other way to do it fast and don't use loop (in real case, I will deal with pretty big array many times, efficiency is a problem). Note that the high and low bytes array extracted from the original array with the module Split number.vi, but how can I combine these two array in one code with data arranged as high-low-high-low ... ? Thanks.
    Solved!
    Go to Solution.

    PKIM wrote:
    However, I enouther another problem while dealing with an array of  U16 type. I would like to extract the high and low byte from numbers (U16) stored in array. I extract the high and low byte for each U16 number and convert them as char, concatenate them to a string. Repeat this process for each element in the array so to get a big string with each element is a char for high and low byte. My code is enclosed as follows
    It works fine but I am concerning the speed. Is that any other way to do it fast and don't use loop (in real case, I will deal with pretty big array many times, efficiency is a problem). Note that the high and low bytes array extracted from the original array with the module Split number.vi, but how can I combine these two array in one code with data arranged as high-low-high-low ... ? Thanks.
    You need to be more clear.
    Looking at the code, you are dealing with I16, not U16. Also your index array primitives could be replaced by autoindexing. Your use of the feedback node only makes sense if you want to append strings forever with stale data, thus growing data structures without limits. If you only want to convert the current data, remove the feedback mode and use a "concatenate strings" with a single input. A for loop is one of the most efficient data structures and using it is not a problem. One way or another the code needs top oerate on all data.
    All that said, I agree with Tim that most likely all you need to do is insert a typecast after the "to I16" and eliminate all other code.
    LabVIEW Champion . Do more with less code and in less time .

  • Inserting a associative array into a table

    Hi,
    I am working on a process where I want to store the temporary results in an associative array. At the end of the process I plan to write the contents of the array into a table that has the same structure. (the array is defined as a %rowtype of the table)
    Is it possible to execute ONE sql statement that transfers the array into the table? I am on 10g (10.2.0.4.0)
    Here's what I have now:
    declare
      type t_emp is table of emp%rowtype index by pls_integer;
      v_emp t_emp;
    begin
      -- a process that fills v_emp with lots of data
      for i in v_emp.first .. v_emp.last
      loop
        insert into emp values v_emp(i);
      end loop;  
    end;But it would be better if the loop could be replaced by sql one statement that inserts all of v_emp into emp. Is that possible?
    Thanks!
    PS: I'm not sure whether it's a good idea to use this approach... building a table in memory and inserting it into the database at the end of the process. Maybe it's better to insert every record directly into the table... but in any case I'm curious to see if it is possible in theory :)
    Edited: Added version info

    True, SQL cannot access the PL/SQL type.
    So you can not do something like this:
    insert into emp
    select * from table(v_emp)That is not possible.
    But FORALL is possible:
    FORALL i in v_emp.first .. v_emp.last
        insert into emp values v_emp(i);FORALL makes just one "round trip" to SQL bulk binding the entire contents of the array.
    It is much more efficient than the normal FOR loop, though it is mostly a PL/SQL optimization - even the FORALL actually inserts the rows "one at the time", it just hands the entire array to the SQL engine in one go.
    If the logic has to be done procedurally, FORALL is efficient.
    If the logic can be changed so arrays can be avoided completely and everything done in a single "insert into ... select ..." statement, that is the most efficient.

  • Reading from a text file into a 2D array

    How do you read from a text file and put it into a 2D array? Or if someone could guide me to where I can find the information?

    This tutorial shows how to read a file:
    http://java.sun.com/docs/books/tutorial/essential/io/scanfor.html
    This tutorial shows how to create arrays with multiple dimensions:
    http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.html

  • Importing text file into 2D char array

    Hey folks. I've aged a few years trying to figure this project out. Im trying to make a crossword puzzle and am having problems importing the answer letters into a 2D array of 15*15. The text file would look something like this:
    LAPSE TAP RAH
    AVAIL OLE ODE
    BARGE PARADOX
    etc
    I have JTextFields that the user will answer and a button the user can press to see if the answers are right by comparing the 2D array answer with what the user inputted.-the user input would be scanned and put into a 2D array also.
    How should i go about inserting each letter into an array? The spaces i would later need to make code to grey out the text field. This is what i have so far. Forgive me if its sloppy.
         class gridPanel extends JPanel
              //----Setting Grid variables
              private static final int ROWS = 15;
              private static final int COLS = 15;
              String[] letters = { "A", "B", "C", "D", "E" };// To test entering strings into array
               gridPanel()
                 this.setBackground(Color.BLUE);
                 //.......Making my JTextField grid for user input
                 JTextField[][] grid = new JTextField[ROWS][COLS];
                 for(int ROWS = 0; ROWS<grid.length; ROWS++)
                     for(int COLS = 0; COLS<grid.length; COLS++)
                         grid[ROWS][COLS] = new JTextField(1);
                         add(grid[ROWS][COLS]);
                     //grid[ROWS][COLS].setText("" + letters[0]);
                 String an = null;
                 StringTokenizer tokenizer = null;
                 Character[][] answer = new Character[ROWS][COLS];
              try{
                 BufferedReader bufAns = new BufferedReader( new FileReader("C:\\xwordanswers.txt"));
                 for (int rowCurrent = 0; rowCurrent < ROWS; rowCurrent++)
              an = bufAns.readLine();
              tokenizer = new StringTokenizer(an);
              for (int colCurrent = 0; colCurrent < COLS; colCurrent++) {
              char currentValue = tokenizer.nextToken().charAt(0);//Needs to be changed to reflect each letter
                        answer[rowCurrent][colCurrent] = currentValue;
                    System.out.println(currentValue);
              }catch (IOException ioex)           
                        System.err.println(ioex);
                        System.exit(1);
            }//xword graphics end
          This obviously prints the first char of each word, it also gives me an "Exception in thread "main" java.util.NoSuchElementException" error for some reason.
    Any help is greatly appreciated.
    John

    If the file format is stored as follows:
    APPLE
    L A
    PARSE
    N E
    PEAR then we can parse this into a 2D char array:
    char[][] readMap(String fileName) {
        char[][] ret = new char[ROWS][COLS];
        FileInputStream FIS = new FIleInputStream(fileName);
        int i, j;
        for(i = 0; i < ROWS; i++)
            for(j = 0; j < COLS; j++)
                ret[i][j] = FIS.read();
        FIS.close();
        return ret;
    }Then you can use the resulting 2D char array in your answer checking mechanism.
    Hope this helps~
    Alex Lam S.L.

  • How can i pass a value in array into .setText()?

    i want to display a value in an array into a JTextField. May i know how to do it?
    eg:
    JTextField UserName;
    UserName.setText(s);
    but it doesn't display the value into the JTextfield.

    ok... is s an array?
    String[] s = {"s1", "s2"};Either you expect 1 value...
    username.setText(s[0]);
    // or
    username.setText(s[1]);Or you expect both:
    StringBuffer sb = new StringBuffer("");
    for(int x = 0; x < s.length; x++) {
       if(x != 0) sb.append(", ");
       sb.append(s[x])
    username.setText(sb.toString());

  • How can I add a new row into an array bases on a1D array

    Hello,
    I build a FieldPoint application with LabView 7.1 RealTime. I've a measurement loop with 1Hz sample rate. I sample 5 channels and put them into a 1D array. Presently I write directly to a cvs file but this I've to cahnge because my loop slows down to 0.2 Hz.
    I want to sample my data the hole day (86400 loops) and save them inside of an array. When the time is over I want write the hole array (table) to the file.
    How I can do this or hoow I can add my 1D array to a new row in my 2D array?
    Thanks
    Thomas
    Thomas

    TomDooley wrote:
    Hello,
    ...I write directly to a cvs file ...my loop slows down to 0.2 Hz
    Writing a series of 5 values to a file should not take so long. There is probably something wrong in the way you are saving your data. May be you should post a simplified version of your vi, so we could see how to improve your code.
    CC
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

Maybe you are looking for

  • Cannot get rid of BBM request in message list?

    Hi All, New to the world of Blackberry and the support forum here. Just got my new Torch 9800 and having an issue with BBM. I received a BBM request from an unknown person named Griff. I figured it was spam and ignored it. It didn't go away so I decl

  • Why can't i access my CC apps on more than one computer?

    I installed a trial version of Adobe CC on my LAPTOP. I used my work email address as i knew we would be ugrading with Adobe CC for teams. After 30 days my license expired. I also installed a trial version on my DESKTOP. Our IT guy then transferred a

  • Changing base for calculation of Tax

    Hi All, SAP standard delivers 0001 condition type in Tax calculation procedure as base for calculation of Tax. condition type 0001 picks up 0PR0 as base for calcualtion of tax. Can someone tell me how does system picks up 0PR0 as base for calculation

  • Compiling jsp pages in wl 10.0 2 times slower than wl 9.1

    Hi: I have enterprise application. In weblogic 9 it took 4-5min to compile all the jsp pages, in weblogic 10 it takes 10-11min!! Is there anything I can do to speed it up?

  • Samsun SCH-LC11 4G Hotspot SLOW!

    Got mine today.  Luckily, I don't deal with VPN much which they apparently have screwed up (http://community.vzw.com/t5/4G-Discussion/Samsung-SCH-LC11-Blocks-Microsoft-VPN/td-p/489618), something about this being a Home device not a Business Device ?