// BRYAN WEIR
// 1.12 PS 6 
// Problem 1
// 17 April 97

#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include <math.h>
#include <fstream.h>
#define null 0
#include "Matrix.cc"



double absolut(double);

void main()
{
ifstream crap ("data5.dat");

double data, temp;
int i, j;
Matrix Nev(8,11);

for(i=0; i<8; i++)
  {
    crap >> data;
    Nev.set(i, 0, data);
    crap >> data;;
    Nev.set(i,2, data);
  }
crap.close();

for(i=0; i<8; i++)
  {
    Nev.set(i, 1, absolut(3.0 - Nev.get(i, 0)));
  }

for(i=7; i>0; i--)
  {
  for(j=0; j<i; j++)
    {
      if (Nev.get(j, 1) > Nev.get(j+1, 1))
	Nev.exchange(j, j+1);
    }
  }

for(j=1; j<8; j++)
  {
    temp = 3.0 - Nev.get(i, 0);
    temp= temp * Nev.get(i+1, j+1);
    Nev.set(i, j+2, temp);
    temp = Nev.get(i+j, 0);
    temp = temp-3.0;
    temp = temp * Nev.get(i, j+1);
    Nev.set(i, j+2, Nev.get(i, j+2)+temp);
    temp = Nev.get(i+j, 0);
    temp = temp - Nev.get(i,0);
    Nev.set(i, j+2, Nev.get(i, j+2)/temp);
  }

Nev.print();
}


double absolut(double num)
{
  if (num < 0)
    {
      num = (-num);
      return num;
    }
  return num;
}

