void main() { myFun(1, 2, 3); myFun(11, 22); myFun(11); myFun(); }
void binarySearch(long long (*myFun)(const long long midValue),const long long headValue,const long long tailValue,long long & retValue){ if (myFun(headValue) == 0){ if (retValue < 0){ retValue = headValue; } else { retValue = std::min(retValue,tailValue); } } if (myFun(tailValue) == 0){ if (retValue < 0){ retValue = tailValue; } else { retValue = std::min(retValue,tailValue); } } long long tmpHead = headValue; long long tmpTail = tailValue; long long midValue; long long tmpResult; long long lastResult = -1; while(tmpTail - tmpHead > 1){ midValue = (tmpHead + tmpTail)/2; tmpResult = myFun(midValue); if (tmpResult == lastResult){ return; } lastResult = tmpResult; if (tmpResult == 0){ if (retValue < 0){ retValue = midValue; } else { retValue = std::min(retValue,midValue); } tmpTail = midValue; } else if (tmpResult > 0){ tmpHead = midValue; } else { tmpTail = midValue; } } }
int main (int argc, char * argv[]) { char ** Array; if (argc ==1) { printf("Put in more arguments! \n"); exit(1); } char * myString; int numSpace; myString=(char*)malloc(sizeof(char)*(strlen(argv[1]))); strcpy(myString, argv[1]); numSpace=myFun(myString); printf("My string: %s \n",myString); int len; len=(strlen(myString)); printf("String length: %d \n",len); printf("Number of spaces: %d \n",numSpace); Array=(char**)malloc(sizeof(char)*(len)); int x=0; for(x=0;x<len;x++) { Array[x]=(char*)malloc(sizeof(char)*20); } int i=0; int j=0; for(i=0;i<len;i++) { for(j=0;j<len;j++) { Array[i][j]=myString[i]; if (myString[i]==' ') { Array[i][j]='\0'; } printf("%c",Array[i][j]); if (myString[i]==' ') { printf(" \n"); } break; } } printf(" \n"); free(myString); return 0; }
int main() { myFun(5, greaterThan(6)); myFun(10, greaterThan(6)); }