float str_to_float (char string[]) { float decimal_convert (int decimal_at, int count, int result); int negative = false, i = 0, decimal_at, result = 0, int_value, period = false; float decimal, final; // check string for negative sign if ( string[0] == '-' ) { negative = true; i = 1; } // itirate through string as long as i = number or period char while ( string[i] >= '0' && string[i] <= '9' || string[i] == '.' ) { if ( string[i] == '.' ) // if period char is found { decimal_at = i; period = true; ++i; } int_value = string[i] - '0'; // using ASCII subtracts char - char = int result = result * 10 + int_value; ++i; } if ( period ) // adds decimal final = decimal_convert (decimal_at, i, result); else final = result;
int mutation(int n) { int site = random_generate(MAX); int i,j; int array[MAX]; for(i=0; i<MAX;i++) { array[i] = n%2; n = n/2; } Flip(array,site); return decimal_convert(array); cout<<endl; }
float str_to_float (char string[]) { int negative = false; int i = 0; int decimal_at; int count = 0; int period = false; float decimal; int result = 0; int int_value; if ( string[0] == '-' ) { negative = true; i = 1; } if ( has_decimal (string, decimal_at, count) ) { period = true; } while ( string[i] >= '0' && string[i] <= '9' ) { int_value = string[i] - '0'; result = result * 10 + int_value; ++i; printf ("\nresult = %i\n", result); } if ( period ) { decimal = decimal_convert (decimal_at, count); result = decimal * result; } if ( negative ) { result = -result; } return result; }