TCS Coding Practice Question | Swap two Numbers
Given two numbers, the task is to swap the two numbers using Command Line Arguments. Examples:
Input: n1 = 10, n2 = 20
Output: 20 10
Input: n1 = 100, n2 = 101
Output: 101 100
Approach:
- Since the numbers are entered as Command line Arguments, there is no need for a dedicated input line
- Extract the input numbers from the command line argument
- This extracted numbers will be in string type.
- Convert these numbers into integer type and store it in variables, say num1 and num2
- Get the sum in one of the two given numbers.
- The numbers can then be swapped using the sum and subtraction from the sum.
Program:
C
#include <stdio.h>
#include <stdlib.h> /* atoi */
void swap( int x, int y)
{
x = x + y;
y = x - y;
x = x - y;
printf ( "%d %d\n" , x, y);
}
int main( int argc, char * argv[])
{
int num1, num2;
if (argc == 1)
printf ( "No command line arguments found.\n" );
else {
num1 = atoi (argv[1]);
num2 = atoi (argv[2]);
swap(num1, num2);
}
return 0;
}
|
Java
class GFG {
static void swap( int x, int y)
{
x = x + y;
y = x - y;
x = x - y;
System.out.println(x + " " + y);
}
public static void main(String[] args)
{
if (args.length > 0 ) {
int num1 = Integer.parseInt(args[ 0 ]);
int num2 = Integer.parseInt(args[ 1 ]);
swap(num1, num2);
}
else
System.out.println( "No command line "
+ "arguments found." );
}
}
|
Output:
- In C:
- In Java:
Time Complexity: O(1)
Auxiliary Space: O(1)
Last Updated :
11 Jan, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...