int main(int argc, char** argv) { FILE* fp; int num, i, swapMade; int min, minPos; if(argc != 2) { printf("USAGE: NextNumber <fileContainingTestVectors>\n"); return 1; } fp = fopen(argv[1], "r"); if(fp == NULL) { printf("Failed to open the input file '%s' for reading!\n", argv[1]); return 2; } while(!feof(fp)) { num = -1; fscanf(fp, "%d", &num); if(num < 0) { continue; } genDigits(num); swapMade = 0; for(i=0;i<numDigits;i++) { getFirstMin(i, &min, &minPos); // no minimum found, move to the next index if(minPos == i) { continue; } arrayShift(i, minPos); sortTill(minPos-1); swapMade = 1; break; } if(swapMade) { printf("%d\n", getNum()); } else { printf("%d\n", sortAndGetNum()); } } fclose(fp); return 0; }
void MainPlanner:: writeValue(vector<vector<int> > digitsVector, float omega){ float scale = 1.5; float x0 = -80; vector<vector<vector<PointNode> > > digits = genDigits(scale); vector<vector<vector<PointNode> > > digit_traj; vector<PointNode> current_traj; int dt = 4; //vector<PointNode> zero_digit = get_rotated(digits[0], 0, 1, millisecondsNow()); for (int i = 0; i < digitsVector.size(); i++){ for (int j = 0; j < digitsVector[i].size(); ++j) { digit_traj.push_back(digits[digitsVector[i][j]]); } } LONGLONG baseT = millisecondsNow(); // 1.256 for (int k = 0; k < digitsVector.size(); ++k) { for (int i = 0; i < digit_traj.size(); i++){ for (int j = 0; j < digit_traj[i].size(); ++j) { float offsetX = (i * (2 + 0.3)) * scale + x0; baseT = millisecondsNow(); current_traj = get_rotated(digit_traj[i][j], 0.566, dt, baseT, offsetX, k * 15 * scale - 30); vec2 first_point(current_traj[0].point.x, current_traj[0].point.y); arm.moveToPoint(first_point); Sleep(MOTOR_DELAY); arm.lowerArm(); Sleep(DROP_TIME); arm.followTrajectory(current_traj); Sleep(MOTOR_DELAY); arm.raiseArm(); Sleep(DROP_TIME); } }//baseT += current_traj.size() * dt + 2 * DROP_TIME + 2 * MOTOR_DELAY; } }