Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,950 questions

51,892 answers

573 users

How to find the largest pair sum in an unsorted array with C

2 Answers

0 votes
#include <stdio.h>

int largest_sum(int arr[], int size) {
  if (size <= 1) {
        return -1;
  }

  int first = 0;
  int second = size - 1;

  for (int i = 0, j = size - 1; i < size; i++, j--) {
        if (i != second && arr[i] > arr[first]) {
            first = i;
        }
        if (j != first && arr[j] > arr[second]) {
            second = j;
        }
  }
  printf("%d, %d\n", arr[first], arr[second]);
  
  return arr[first] + arr[second];
}

int main()
{
  int arr[] = {3, 5, 9, 8, -1, 4, 6, 5, 8, 0, 2};

  int size = sizeof(arr) / sizeof(arr[0]);

  printf("%d", largest_sum(arr, size));
  
  return 0;
}



  
/*
run:
         
9, 8
17
         
*/

 



answered Dec 4, 2021 by avibootz
edited Dec 4, 2021 by avibootz
0 votes
#include <stdio.h>
#include <limits.h>
 
int largest_sum(int arr[], int size) {
    if (size <= 1) {
        return -1;
    }
 
    int first, second; 
     
    first = second = INT_MIN; 
  
    for (int i = 0; i < size ; i ++) { 
        if (arr[i] > first) { 
            second = first; 
            first = arr[i]; 
        } 
        else if (arr[i] > second) { 
            second = arr[i]; 
        } 
    } 
    
    printf("%d, %d\n", first, second);
   
    return first + second;
}
 
 
int main()
{
  int arr[] = {3, 5, 9, 8, -1, 4, 6, 5, 8, 0, 2};
 
  int size = sizeof(arr) / sizeof(arr[0]);
 
  printf("%d", largest_sum(arr, size));
   
  return 0;
}
 
 
 
   
/*
run:
          
9, 8
17
          
*/

 



answered Dec 4, 2021 by avibootz
edited Dec 4, 2021 by avibootz

Related questions

...