Exemplo n.º 1
0
int main()
{
	int num,reverse;
	printf("\n Enter a number to be reversed: ");
	scanf("%d",&num);
	reverse = reverseNum(num);
	printf("\n The reverse of the number %d is: %d",num,reverse);
	return 0;
}
 /**
  * @param k: 
  * @return: the sum of first k even-length palindrome numbers
  */
 int sumKEven(int k) {
     // Write your code here
     int base = 10, start = 1, sum = 0;
     while (k--) {
         sum += (start * base + reverseNum(start));
         if (++start >= base)
             base *= 10;
     }
     return sum;
 }
Exemplo n.º 3
0
int main (void){
    
    int number, reverse, reverse2, difference, sum;
    
    // Get Number from User
    printf("Please enter a 3 digit number in which the digits decrease in value (i.e. 542) : ");
    scanf("%i", &number);
    
    // Reverse number
    reverse = reverseNum(number);
    
    // Subtract original number from reversed number
    difference = difNum(number, reverse);
    
    // Take the difference of the previous equation and reverse the digits
    reverse2 = reverseNum(difference);
    
    // Add the difference and and the reversed number
    sum = sumNum(difference, reverse2);
    
    // return value : will always be 1089
    printf("%i - %i = %i,  %i + %i = %i\n",  number, reverse, difference, difference, reverse2, sum);
    
}
Exemplo n.º 4
0
int count(int goal){
    int currentCnt = 1;
    int currentNum = 1;
    while(currentNum != goal){
        int nextInc = incNum(currentNum);
        int nextReverse = reverseNum(currentNum);

        if(nextInc >= nextReverse || nextReverse > goal){
            currentNum = nextInc;
        }else{
            currentNum = nextReverse;
        }
        currentCnt++;
    }

    return currentCnt;
}
Exemplo n.º 5
0
int main ( int argc, char *argv[] )
{

	int primeCheckStorage;
	int reverseNumStorage;
	int palindromeCheckStorage;
	int input = 0;
	int x = 0;
	//int y = 0;
	//int z = 0;
	int primeFlag = 0;
	int reverseFlag = 0;
	int palidromeFlag = 0;
	int readFlag = 0;
	int writeFlag = 0;


	int output;
	//char *stringToParse;
	FILE *fp = NULL;


/*
 * SECTION 2 FLAG RAISING
 * For this section we are taking the command line arguments and  going through them
 * and checking to see which ones were entered by the user
 * Additionally if one was entered by the user we will raise its appropriate flag to call associated
 * code and functions form it
 */
	for(int i = 0 ; i < argc; i++)
	{
		if(argv[i][0] == '-' && argv[i][1] == 'h')
		{
			options(); //here we are checking if there is a -h giving it precedence and breaking out of the loop
			primeFlag = 0;
			reverseFlag = 0;
			palidromeFlag = 0;
			readFlag = 0;
			writeFlag = 0;
			break;
		}

		if(argv[i][0] == '-' && argv[i][1] == 'p')
		{
			primeFlag = 1;
		}

		if(argv[i][0] == '-' && argv[i][1] == 'r')
		{
			reverseFlag = 1;
		}

		if(argv[i][0] == '-' && argv[i][1] == 'd')
		{
			palidromeFlag = 1;
		}

		if(argv[i][0] == '-' && argv[i][1] == 'f')// get file name and READ from File
		{
			//check to see if there is a file name
			if( argv[i+1] == NULL)
			{
				printf("expecting argument following -f \n");
			}
			//copy file name
			inFile = argv[i+1];

			fp = fopen(inFile, "r");

			if(!fp)
			{
				printf("Can not open %s \n" , inFile);
				return 0;
			}
			else
			//read data from file
			fclose(fp);

			readFlag = 1;
		}

		if(argv[i][0] == '-' && argv[i][1] == 'o')
		{
			//check to see if there is a file name
			if( argv[i+1] == NULL)
			{
				printf("expecting argument following -o \n");
			}

			//copy file name
			outFile = argv[i+1];

			fp = fopen(outFile, "w");

			//write data from user to file

			if(!fp)
			{
				printf("Can not open %s \n" , outFile);
				return 0;
				}
				else
					//write to file
				fclose(fp);

			writeFlag = 1;
		}



	}
	/*
	 * For this section we will be checking if there were 3 commands entered or 2 of each command OR
	 * both of the read/write commands entered
	 * IF ANY of these conditions occur we throw and error message to the user.
	 */

	if((primeFlag == 1 && reverseFlag == 1 && palidromeFlag == 1) ||
			(primeFlag ==1 && reverseFlag == 1)|| (primeFlag == 1 && palidromeFlag == 1) ||
			(reverseFlag ==1 && palidromeFlag == 1))
	{
		printf("Please use only 1 command at a time. \n");
		printf("Usage: ./prog [-p/-r/-d] –f filename –o filename \n");


		//we are going to reset the flags to stop program flow.
		primeFlag = 0;
		reverseFlag = 0;
		palidromeFlag = 0;
		readFlag = 0;
		writeFlag = 0;

/*
 * SECION 3
 * This section of code is where all my manipulations on the files and the user input
 * happens.  WE are also check certain conditions to differentate whether or not we
 * want to take user input or input to a file or write to a file
 */

	}
	else if((primeFlag == 1) && (readFlag == 0))
	{

		printf("You have selected finding a prime number. \n");
		printf("Please enter a positive integer:  \n");
		scanf("%d", &x);

		primeCheckStorage = checkPrime(x);

		if(primeCheckStorage == -1)
		{
			printf("Please enter a positive integer. \n");
		}
		else if(primeCheckStorage == 1)
		{
			printf("Number %d is a prime number. \n", x);
		}
		else
		{
			printf("Number %d is NOT a prime number. \n", x);
		}

	}
	else if((reverseFlag == 1)&& (readFlag == 0))
	{
		printf("You have selected reversing a number. \n");
		printf("Please enter the integer you wish to reverse: \n");
		scanf("%d", &input);

		reverseNumStorage = reverseNum(input);
		printf("Reverse of %d is %d. \n", input, reverseNumStorage);
	}
	else if((palidromeFlag == 1) && (readFlag == 0))
	{
		printf("You have selected checking if a number is  a palindrome. \n");
		printf("Please enter the integer you wish to check: \n");
		scanf("%d" , &input);
		palindromeCheckStorage = palindrome(input);
		if( palindromeCheckStorage == 1)
		{
			printf("The number %d is a palindrome \n", input);
		}
		else
		{
			printf("The number %d is NOT a palidrome \n", input);
		}


	}

	if((readFlag == 1) && (primeFlag == 1))
	{
		fp = fopen(inFile, "r");

		fscanf(fp, "%d", &output);

			//if else (call the approbate function)
			if(primeFlag == 1)
			{

				primeCheckStorage = checkPrime(output);

				if(primeCheckStorage == -1)
				{
					printf("Please enter a positive integer. \n");
				}
				else if(primeCheckStorage == 1)
				{
					printf("Number %d is a prime number. \n", output);
				}
				else
				{
				printf("Number %d is NOT a prime number. \n", output);
				}
			}

			fclose(fp);

	}
	if((readFlag == 1) && (reverseFlag == 1)) //reverse the number
	{
		fp = fopen(inFile, "r");

		fscanf(fp, "%d", &output);

		reverseNumStorage = reverseNum(output);

		printf("Reverse of %d is %d. \n", output, reverseNumStorage);
	}
	if((readFlag == 1) && (palidromeFlag == 1)) //expcitely dictate this condition
	{
		fp = fopen(inFile, "r");

		fscanf(fp, "%d", &output);
		palindromeCheckStorage = palindrome(output); //get the num from the function

		if( palindromeCheckStorage == 1)
		{
			printf("The number %d is a palindrome. \n",output );

		}
		else
		{
			printf("The number %d is NOT a palindrome. \n", output);
		}
	}

	if(writeFlag == 1)
	{
		fp = fopen(outFile , "w");

		if(!fp)
		{
			puts("cannot open data file!");
			return 0;
		}

		//get data from user
		printf("Please enter a number to write to the file");
		scanf("%s", inputData);
		fprintf(fp, "%s ",inputData); // write to the file

	}



}