Small Triangles, Large Triangles

  • + 0 comments

    Here is my solution that generates and sorts a list as it processes each triangle

    **void sort_by_area(triangle* tr, int n) {
      double areaArr[n];
      for(int i = 0; i<n; i++){
        double p = (tr[i].a + tr[i].b + tr[i].c)/2.0;
        double area = sqrt(p * (p - tr[i].a) * (p - tr[i].b) * (p - tr[i].c));
        for(int j = 0; j <= i; j++){
          if (j == i){
            areaArr[j] = area; 
          }
          if (areaArr[j] > area){
            double areaJSwap = areaArr[j];
            areaArr[j] = area;
            area = areaJSwap;
    				triangle swapTriangle = tr[j];
            tr[j] = tr[i];
            tr[i] = swapTriangle; 
          }
        }
      }
    }