|
dear all
how to solve the following problem..thanks a lot..
for (int k = 0; k< 150; k++)
{
if (d[k] == c[k][0])
{
sum1 = c[k][0];
sum1 = sum1 + 1;
num1 = num1 + 1;
}
why sum1 can't accumulate..it always showed me 1 + the previous value...
Li Zhiyuan
5/10/2006
|
|
|
|
|
Probably (my CPMRU suggested) you want to do the following
for (int k = 0; k< 150; k++)
{
if (d[k] == c[k][0])
{
sum1 = c[k][0];
}
sum1 = sum1 + 1;
num1 = num1 + 1;
}
or something similar... Maybe posting your requirement will help.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
|
|
|
|
|
still problem.....do u have other idea? thanks
Li Zhiyuan
5/10/2006
|
|
|
|
|
But did you read my reply?
I need to know your requiremts, i.e. what should your code do?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
|
|
|
|
|
double d[150]; double c[150][3],d[150] is a minimum value of c[150][3], so i want to accumulate how many numbers in column 1,2 and 3 respectively, and sum each column value. that is all..thanks a lot.
for (int k = 0; k< 150; k++)
{
if (d[k] == c[k][0])
{
sum1 = c[k][0];
sum1 = sum1 + 1;
num1 = num1 + 1;
}
if (d[k] == c[k][1])
{
sum2 = c[k][1];
sum2 = sum2 + 1;
num2 = num2 + 1;
}
if (d[k] == c[k][2])
{
sum3 = c[k][2];
sum3 = sum3 + 1;
num3 = num3 + 1;
}
Li Zhiyuan
5/10/2006
|
|
|
|
|
something like the following?
int n;
int sum[3];
int num[3];
for (n=0; n<3; n++)
{
sum[n]=0;
num[n]=0;
}
for (int k = 0; k< 150; k++)
{
for (n=0; n<3; n++)
{
if (d[k] == c[k][n])
{
sum[n] = sum[n] + d[k];
num[n] = num[n] + 1;
}
}
}
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
|
|
|
|
|
thanks, i tried your suggestion already, but still problem...num[n] is no problem, sum[n] still has problem, when i used sum[n] += d[k], the result is sum[0] = sum[1] = sum[2] = 0; if i used sum[n] = sum[n] + 1; the result is same with num[n], what happened? thanks
Li Zhiyuan
5/10/2006
|
|
|
|
|
i already solved this problem, finally i found, i need to change array type from int to double, because array d is double..firstly, i misinitialed int...thanks
Li Zhiyuan
5/10/2006
|
|
|
|
|
sum1 doesn't accumulate as you are assigning a fresh value to it:
li zhiyuan wrote: sum1 = c[k][0];
before you accumulate
li zhiyuan wrote: sum1 = sum1 + 1;
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
li zhiyuan wrote: it always showed me 1 + the previous value...
Because that's exactly what you've coded it to do. Computers do what they're told, no more, no less, which may not always be what you want.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
DavidCrow wrote: Computers do what they're told, no more, no less
You are a dreamer, my friend.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
|
|
|
|
|
CPallini wrote: You are a dreamer, my friend.
How so?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Computers do anything but what you've told to do.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
|
|
|
|
|
CPallini wrote: Computers do anything but what you've told to do.
yeah .... i agree.... !
|
|
|
|
|
Hard of hearing; practically deaf in some cases!
|
|
|
|
|
Usually, if we want to connect two clients,we have to create a server,which
will act as a bridge between the two clients,but the server must be in a WAN. Now, I want to ask ,could we create a server in a LAN?
|
|
|
|
|
A server can be in a LAN - but then it may as well not exist, and you could just connect the two clients together and do peer to peer.
Assuming both LANs have firewalls on them, then you need some sort of 3rd party they can both connect to - which I'm guessing is why you have the server in the first place.
Iain.
|
|
|
|
|
Thank you,Iain. You know if we want to connect to a computer B in another LAN, we have to go through the "gateway" (firewalls,you refer to)of the LAN. But if B has not heard the message that we want to connect with it, B will not do "Hole Punching" for this connection, so the connection will be failed.
A server C in a WAN is the resolution, if we want to connect A and B which are in different LANs, so first,A tells C:"I want to connect with B",At the same time B tells C:"If someone wants to talk with me,please let me know".C
tells B:"A in another LAN want to talk with you",now,B will do one thing that is called "Hole Punching",if B finishes this,the connection between A and B is success.
But C must be in a WAN,can we find a server in a LAN(A or B in this LAN is best)to replace C ?
|
|
|
|
|
pengpcz wrote: Usually, if we want to connect two clients,we have to create a server...
Only if there is something on that server that one of them needs (e.g., IM server). Otherwise, they can connect directly.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
This is the piece of code for which i am getting runtime error
void read_all_pns_files( void )
{
FILE *fp1, *fp2;
char pns_name[12];
short int n, ret;
A320_atp atp_a320;
A330_atp atp_a330;
B320_atp atp_b320;
B330_atp atp_b330;
D320_atp atp_d320;
D330_atp atp_d330;
F340_atp atp_f340;
I320_ATP atp_i320;
I330_ATP atp_i330;
P320_ATP atp_p320;
P330_ATP atp_p330;
struct {
char PARTNUMMER[40];
char AMENDMENT[2];
char MEN_FILE[13];
short int GERAET;
}part;
memset(pns_name,'\0',12);
memset(part.PARTNUMMER,'\0',40);
memset(part.AMENDMENT,'\0',2);
memset(part.MEN_FILE,'\0',13);
if((fp1=fopen("ALL_PNS.DAT", "wb")) != NULL)
{
for(n=0; n<11; n++)
{
sprintf(pns_name, "%s.PNS", check_name[n]);
sprintf(part.MEN_FILE, "%s.MEN", check_name[n]);
if((fp2=fopen(pns_name, "rb")) != NULL)
{
while(!feof(fp2))
{
switch(n)
{
case 0:
ret=fread(&atp_a320, sizeof(atp_a320), 1, fp2);
strcpy(part.PARTNUMMER, atp_a320.PARTNUMMER);
strcpy(part.AMENDMENT, atp_a320.AMENDMENT);
break;
case 1:
ret=fread(&atp_a330, sizeof(A330_atp), 1, fp2);
strcpy(part.PARTNUMMER,atp_a330.PARTNUMMER);
strcpy(part.AMENDMENT, atp_a330.AMENDMENT);
break;
case 2:
ret=fread(&atp_b320, sizeof(B320_atp), 1, fp2);
strcpy(part.PARTNUMMER,atp_b320.PARTNUMMER);
strcpy(part.AMENDMENT, atp_b320.AMENDMENT);
break;
case 3:
ret=fread(&atp_b330, sizeof(B330_atp), 1, fp2);
strcpy(part.PARTNUMMER,atp_b330.PARTNUMMER);
strcpy(part.AMENDMENT, atp_b330.AMENDMENT);
break;
case 4:
ret=fread(&atp_d320, sizeof(D320_atp), 1, fp2);
strcpy(part.PARTNUMMER,atp_d320.PARTNUMMER);
strcpy(part.AMENDMENT, atp_d320.AMENDMENT);
break;
case 5:
ret=fread(&atp_d330, sizeof(D330_atp), 1, fp2);
strcpy(part.PARTNUMMER,atp_d330.PARTNUMMER);
strcpy(part.AMENDMENT, atp_d330.AMENDMENT);
break;
case 6:
ret=fread(&atp_f340, sizeof(F340_atp), 1, fp2);
strcpy(part.PARTNUMMER,atp_f340.PARTNUMMER);
strcpy(part.AMENDMENT, atp_f340.AMENDMENT);
break;
case 7:
ret=fread(&atp_i320, sizeof(I320_ATP), 1, fp2);
strcpy(part.PARTNUMMER,atp_i320.PARTNUMMER);
strcpy(part.AMENDMENT, atp_i320.Amendment);
break;
case 8:
ret=fread(&atp_i330, sizeof(I330_ATP), 1, fp2);
strcpy(part.PARTNUMMER,atp_i330.PARTNUMMER);
strcpy(part.AMENDMENT, atp_i330.Amendment);
break;
case 9:
ret=fread(&atp_p320, sizeof(P320_ATP), 1, fp2);
strcpy(part.PARTNUMMER,atp_p320.PARTNUMMER);
strcpy(part.AMENDMENT, atp_p320.AMENDMENT);
break;
case 10:
ret=fread(&atp_p330, sizeof(P330_ATP), 1, fp2);
strcpy(part.PARTNUMMER,atp_p330.PARTNUMMER);
strcpy(part.AMENDMENT, atp_p330.AMENDMENT);
break;
default:
break;
}
part.GERAET = n;
if(ret==1) fwrite(&part, sizeof(part), 1, fp1);
}
}
if(fp2)
fclose(fp2);
}
if(fp1)
fclose(fp1);
}
}
I am getting run-time CHECK FAILURE #2 stack around the variable 'part' was corrupted.
Thanks for your help
|
|
|
|
|
Where does check_name[] come from? How is initialized?
BTW enclose code in <pre> tags, for instance
<pre>
</pre>
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
|
|
|
|
|
static char check_name[12][5] = {
"A320", "A330", "B320", "B330", "D320",
"D330", "F340", "I320", "I330", "P320", "P330" };
this is how check_name is initialized.
|
|
|
|
|
OK, it looks fine. Now, could you please reformat OP code using <pre> tags?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
modified on Friday, January 18, 2008 5:10:20 AM
|
|
|
|
|
what do you mena by OP code
|
|
|
|
|
The (long) code snippet of the original post.
You may also repost it, correctly formatted, of course.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
|
|
|
|
|