Zanjo_Betchi

Untitled

Aug 6th, 2018
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.31 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define NULL 0
  3. using namespace std;
  4. struct Node{
  5.     int data1,data2,data3;
  6.     Node* next;
  7. };
  8. Node *head = NULL;
  9. int min_diff = INT_MAX;
  10. Node* insert(int data1, int data2, int data3){
  11.     Node* temp = new Node();
  12.     temp->data1 = data1;
  13.     temp->data2 = data2;
  14.     temp->data3 = data3;
  15.     temp->next = NULL;
  16.     if(head == NULL){
  17.         head = temp;
  18.         return head;
  19.     }else{
  20.         temp->next = head;
  21.         head = temp;
  22.         return head;
  23.     }
  24. }
  25.  
  26. void print(){
  27.     Node *temp = head;
  28.     while(temp != NULL){
  29.         cout << temp->data1 <<" "<< temp->data2<<" "<<temp->data3<<endl;
  30.         temp = temp->next;
  31.     }
  32. }
  33. void make_sub_array(int arr[], int length){
  34.     int diff;
  35.     for(int i =0;i<length; i++){
  36.         for(int j =i+1;j<length;j++){
  37.             diff = abs(arr[i] - arr[j]);
  38.             insert(arr[j],arr[i],diff);
  39.             min_diff = min_diff>diff?diff:min_diff;
  40.         }
  41.     }
  42. }
  43. void small_sub(){
  44.     Node *temp=head;
  45.     //int min = temp->data3 ;
  46.     while(temp!=NULL){
  47.         if(temp->data3 == min_diff) cout << "("<<temp->data1<<","<<temp->data2<<") ";
  48.         temp=temp->next ;
  49.     }
  50. }
  51. int main()
  52. {
  53.       int arr[] = {5,4,3,2,1};
  54.       make_sub_array(arr,sizeof(arr)/sizeof(arr[0]));
  55.       small_sub();
  56.     return 0;
  57. }
Add Comment
Please, Sign In to add comment