daemian
asked on
problem concerns "for" command
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
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
ASKER
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?
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?
you aren't making any sence!!
write out the full thing
write out the full thing
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
> 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
ASKER
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.
--------------------------
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.
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
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
ASKER
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
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
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
for(j = 0; j < 3; j++)
a[i][0];