/*
* 1.Given a sorted array a and a sum k print
* all pairs of indexes i and j such that
* a[i]+a[j]=k.
*/
void printPairsWithSum(int *array, int k, int len) {
int startIndex = 0, endIndex = len - 1, sum;
while (startIndex < endIndex) {
sum = array[startIndex] + array[endIndex];
if (sum == k) {
printf("%d %d \n", startIndex, endIndex);
startIndex++;
} else if (sum > k)
endIndex--;
else
startIndex++;
}
}
int main() {
int *array = malloc(sizeof(int) * 100);
int len, i;
scanf("%d", &len);
for (i = 0; i < len; i++) {
scanf("%d ", &array[i]);
}
printPairsWithSum(array, 12, len);
return 0;
}
Friday, July 19, 2013
Find a pair of elements from an array whose sum equals a given number
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment