Hi,

Why is it that when I remove(commented out) the inner j for loop and all it's contents, the cmd prints out my desired output. However, replacing back the inner for loop, it gives an incorrect output -> my counter values are wrong when printed. Can anyone spot what I have missed out? I need that inner for loop to be there in order to calculate my centroids 5 different times based on the varying counts that I'm incrementing in my i for loop. Below is my code:

for(int k=0;k<5;k++){
    e_count=0, b_count=0, n_count=0, r_count=0;

     for (int i=0;i<RLEN;i++){
        if(rri_val[i][2309]!=k && rri_val[i][2308]==EWS)
            e_count++;

        if(rri_val[i][2309]!=k && rri_val[i][2308]==BL)
            b_count++;

        if(rri_val[i][2309]!=k && rri_val[i][2308]==NB)
            n_count++;

        if(rri_val[i][2309]!=k && rri_val[i][2308]==RMS)
            r_count++;

//This is the for loop I'm talking about!!!
        for(int j=0;j<CLEN;j++){
            if(rri_val[i][2309]!=k){ //calculates the training samples' centroids 
                if(rri_val[i][2308]==EWS){
                    temp+=rri_val[i][j];           //EWS Centroid
                }
                centroid[EWS][j]=temp/e_count;
                temp=0;

                if(rri_val[i][2308]==BL){
                    temp+=rri_val[i][j];                //BL Centroid
                }
                centroid[BL][j]=temp/b_count;
                temp=0;

                if(rri_val[i][2308]==NB){               //NB Centroid
                    temp+=rri_val[i][j];
                }
                centroid[NB][j]=temp/n_count;
                temp=0;

                if(rri_val[i][2308]==RMS){
                    temp+=rri_val[i][j];                 //RMS Centroid
                }
                centroid[RMS][j]=temp/r_count;
                temp=0;

            }
                else if(rri_val[i][2309]==k){
		       t[i][j]=rri_val[i][j];      //stores test sample
                     
                }
        } //ends inner most for loop
			
    } //ends i for loop
        cout<<e_count<<" "<<b_count<<" "<<n_count<<" "<<r_count<<endl;
}//ends k for loop

Thanks.

Sorry people, I already fixed it, it was a wrong size of dimension problem...

It's giving me the right output now...

L8rz...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.