Solved

problem concerns "for" command

Posted on 2004-04-18
10
177 Views
Last Modified: 2010-04-01
Here it is:

for( i = 0 ; i <= 11 ;  i++)
a[i][0];

what i wanted to do is to find an algorithm that repeats three times the first values of the array:

e.g
a[0][0],a[0][0],a[0][0]
a[1][0],a[1][0],a[1][0]
a[2][0],a[2][0],a[2][0]
             .
             .
             .
instead of a[0][0],a[1][0],a[2][0]

please help

0
Comment
Question by:daemian
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +1
10 Comments
 
LVL 3

Expert Comment

by:monkesdb
ID: 10855308
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
    a[i][0];
0
 

Author Comment

by:daemian
ID: 10855872
Ok but let's make it a bit more difficult:

how about if we have something like this:

temp1 = c[f][k] * a[i][0];

and we want to do what i mentioned in just the a[i][k].How can we do that so as the c[f][0] won't change?
0
 
LVL 3

Expert Comment

by:monkesdb
ID: 10857355
you aren't making any sence!!

write out the full thing
0
Technology Partners: 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!

 
LVL 12

Expert Comment

by:stefan73
ID: 10857430
Hi daemian,
> how about if we have something like this:

> temp1 = c[f][k] * a[i][0];

> and we want to do what i mentioned in just the a[i][k].How can we do
> that so as the c[f][0] won't change?

Be more abstract. Do you want to do matrix/vector multiplications? Or what do you want to do?

Cheers,
Stefan
0
 

Author Comment

by:daemian
ID: 10858514
well here it is the exact code of what i am trying to do:
------------------------------------------------------------------------
for (i = 0; i <= 2; i++)  
{
temp1 = 0;
for (f1=0,f2=2; f1 <= 9,f2 <= 11; f1=f1+3,f2=f2+3)
for (k = 0 ,f = f1;k <=2 , f <= f2;k++ , f++)
{
ifs >> a[i][k];  
in_stream1 >> c[f][0];
temp1 = a[i][k] * c[f][0];
out_stream1 << temp1 <<' ';
}  
}
out_stream1 << endl;
cout << endl;
-----------------------------------------------------------------------

I want to be able to multiply array a[i][k] with array c[f][0].
the first array contains:
1 2 3
3 4 5
5 6 7

and the second array contains :
1
3
2
5
4
2
3
5
4
2
3
1

so i would like array a to be able to multiply with the first three numbers of array c three times.
0
 
LVL 12

Expert Comment

by:stefan73
ID: 10859670
daemian,
Hmmm...
        for (i = 0; i <= 2; i++) {
                temp1 = 0;
                for (f1 = 0, f2 = 2; f1 <= 9, f2 <= 11; f1 = f1 + 3, f2 = f2 + 3)
                        for (k = 0, f = f1; k <= 2, f <= f2; k++, f++) {
                                ifs >> a[i][k];
                                in_stream1 >> c[f][0];
                                temp1 = a[i][k] * c[f][0];
                                out_stream1 << temp1 << ' ';
                        }
        }
        out_stream1 << endl;
        cout << endl;

You're using zillions of variables which are not necessary. And your second array is one-dimensional, right?

        for (a_row = 0; a_row <= 2; a_row++) {
                for (vec_group = 0 ; vec_group <= 9 ; vec_group += 3)
                        for (a_col = 0, vec_idx = vec_group; a_col <= 2, vec_idx <= vec_group+2; a_col++, vec_idx++) {
                                ifs >> a[a_row][a_col];
                                in_stream1 >> c[vec_idx];
                                temp1 = a[a_row][a_col] * c[vec_idx];
                                out_stream1 << temp1 << ' ';
                        }
        }
        out_stream1 << endl;
        cout << endl;

It's still not clear to me what you're doing there. Especially that you're reading a[x][y] over and over again.

Stefan
0
 

Author Comment

by:daemian
ID: 10867363
thanks for the info stefan!
With a combination of your code and mine i finally managed to find a solution(almost).Just a final question and these points are yours:

i wrote this:

for(a=0;a<=2;a++)
{
for(b=0;b<=2;b++)
{
infile >> c[b][0];
cout << c[b][0];
}

but it reads something like this:
c[0][0]=1
c[0][0]=3
c[0][0]=2

should it possibly be the same number like this?
c[0][0]=1
c[0][0]=1
c[0][0]=1
0
 
LVL 1

Accepted Solution

by:
GhostMod earned 0 total points
ID: 11227178
PAQed, with points refunded (200)

GhostMod
Community Support Moderator
0

Featured Post

Technology Partners: 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!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question