// For this practice test you will determine the intersection between two sets. // have the function OverlappingRanges(arr) take the array of numbers stored in arr which will contain 5 positive integers, the first two representing a range of numbers (a to b), the next 2 also representing another range of integers (c to d), and a final 5th element (x) which will also be a positive integer, and return the string true if both sets of ranges overlap by at least x numbers. For example: if arr is [4, 10, 2, 6, 3] then your program should return the string true. The first range of numbers are 4, 5, 6, 7, 8, 9, 10 and the second range of numbers are 2, 3, 4, 5, 6. The last element in the array is 3, and there are 3 numbers that overlap between both ranges: 4, 5, and 6. If both ranges do not overlap by at least x numbers, then your program should return the string false. #include <iostream> #include <string> #include <vector> using namespace std; string OverlappingRanges(int arr[], int size) { int count = 0; vector <int> range1; vector <int> range2; // Find the first range for (int x = arr[0]; x <= arr[1]; x++) { range1.push_back(x); } // Find the second range for (int y = arr[2]; y <= arr[3]; y++) { range2.push_back(y); } // Check how many numbers match between both range for (int i = 0; i < range1.size(); i++) { for (int z = 0; z < range2.size(); z++) { if (range1[i] == range2[z]) { count++; } } } if (count >= arr[4]) { return "true"; } else { return "false"; } } int main() { // keep this function call here /* Note: In C++ you first have to initialize an array and set it equal to the stdin to test your code with arrays. */ int A[] = { 5, 11, 1, 5, 1 }; int B[] = { 1, 8, 2, 4, 4 }; int C[] = { 4, 10, 2, 6, 3 }; int D[] = { 1, 2, 1, 3, 1 }; int E[] = { 1, 10, 9, 10, 1 }; int F[] = { 4, 10, 5, 8, 2 }; cout << OverlappingRanges(A, sizeof(A) / sizeof(A[0])) << endl; // true cout << OverlappingRanges(B, sizeof(B) / sizeof(B[0])) << endl; // false cout << OverlappingRanges(C, sizeof(C) / sizeof(C[0])) << endl; // true cout << OverlappingRanges(D, sizeof(D) / sizeof(D[0])) << endl; // false cout << OverlappingRanges(E, sizeof(E) / sizeof(E[0])) << endl; // false cout << OverlappingRanges(F, sizeof(F) / sizeof(F[0])) << endl; // false return 0; }
Write, Run & Share C Language code online using OneCompiler's C online compiler for free. It's one of the robust, feature-rich online compilers for C language, running the latest C version which is C18. Getting started with the OneCompiler's C editor is really simple and pretty fast. The editor shows sample boilerplate code when you choose language as 'C' and start coding!
OneCompiler's C online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample C program which takes name as input and print your name with hello.
#include <stdio.h>
int main()
{
char name[50];
printf("Enter name:");
scanf("%s", name);
printf("Hello %s \n" , name );
return 0;
}
C language is one of the most popular general-purpose programming language developed by Dennis Ritchie at Bell laboratories for UNIX operating system. The initial release of C Language was in the year 1972. Most of the desktop operating systems are written in C Language.
When ever you want to perform a set of operations based on a condition if-else
is used.
if(conditional-expression) {
// code
} else {
// code
}
You can also use if-else for nested Ifs and if-else-if ladder when multiple conditions are to be performed on a single variable.
Switch is an alternative to if-else-if ladder.
switch(conditional-expression) {
case value1:
// code
break; // optional
case value2:
// code
break; // optional
...
default:
// code to be executed when all the above cases are not matched;
}
For loop is used to iterate a set of statements based on a condition.
for(Initialization; Condition; Increment/decrement){
// code
}
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while(condition) {
// code
}
Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.
do {
// code
} while (condition);
Array is a collection of similar data which is stored in continuous memory addresses. Array values can be fetched using index. Index starts from 0 to size-1.
data-type array-name[size];
data-type array-name[size][size];
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity.
Two types of functions are present in C
Library functions are the in-built functions which are declared in header files like printf(),scanf(),puts(),gets() etc.,
User defined functions are the ones which are written by the programmer based on the requirement.
return_type function_name(parameters);
function_name (parameters)
return_type function_name(parameters) {
//code
}