Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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;
	}

}