Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 208
  • Last Modified:

Simple array conversion

Hi,

I have 3 2-d arrays and tried to convert them into 1-d array. The original arrays are a,b and c and the 1d arrays are a2,b2 and c2. My code segment:

k=0;
for (i=0, i<MAXI; i++)
     for (j=0; j<MAXY; j++)
          {
                a2[k++]=a[i][j];
                b2[k++]=b[i][j];
                c2[k++]=c[i][j];
           }

The output was incorrect and I can't figure out what causes the error. Please advise.
Thanks.
0
peiyoke
Asked:
peiyoke
1 Solution
 
ozoCommented:
In what way was the output incorrect?

Did you want a ++ on all of those [k]s?
0
 
sgantaCommented:
Hello !

You are incrementing k after every assignment, That is why you are o/p is incorrect.

It should be like this
k=0;
    for (i=0, i<MAXI; i++)
         for (j=0; j<MAXY; j++)
              {
                    a2[k]=a[i][j];
                    b2[k]=b[i][j];
                    c2[k]=c[i][j];
                    k++;
               }

OR

It can be like this
k=0;
    for (i=0, i<MAXI; i++)
         for (j=0; j<MAXY; j++)
              {
                    a2[k]=a[i][j];
                    b2[k]=b[i][j];
                    c2[k++]=c[i][j];
               }
0
 
braveheartCommented:
You know that all those 2D arrays are really 1D arrays already. They are just in column order instead of row order. Do you really need to convert them, even though it is very simple to do.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now