I need to graph 3 points based on the linear or quadratic equation and I can't get my head around how to graph the points. It will work fine if you put points in that are in sequence like 2 3 4 but not 2 4 5 any help is greatly appreciated below is the source from microsoft visual studio 2008

Code:

// program002.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <cstdio> #include <cmath> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int iNumOfDataPoints, iEquation; double mx, my; //linear or quadratic if the user enters 0 or any other number the program assums quadratic cout << "Choose an equation: Enter 1 for Linear and 0 for quadratic (default is quadratic)" << endl; cin >> iEquation; //ask user how many data points cout<<"Please enter your number from lowest to highest."<<endl; cout << "How many data points would you like to plot (max 3)?" << endl; cin >> iNumOfDataPoints; double iDataX[4], iDataY[4]; for(int c=1;c<=iNumOfDataPoints;c++) { cout << "Enter data point(x) "; cout << c << endl; cin >> iDataX[c]; if(iDataX[c]<=0) { cout << "Data point must be positive number. " << endl; return 0; } //now lets get the y values //linear if(iEquation==1) { iDataY[c]= 2*iDataX[c] + 4; } else //quadratic { iDataY[c]= pow(iDataX[c],2) + 4*iDataX[c]+2; } } cout << endl; for(int c=1;c<=iNumOfDataPoints;c++) { cout << iDataY[c] << endl; } cout << endl; cout << endl; //find largest value mx=std::max(iDataX[1],iDataX[2]); mx=std::max(mx,iDataX[3]); double mx2=mx; my=std::max(iDataY[1],iDataY[2]); my=std::max(my,iDataY[3]); //graph int z=iNumOfDataPoints; for(my;my!=0;my--) { cout<<"|"; if(my==iDataY[z]) { if(mx==iDataX[z]) { int n=1; while(n<mx) { cout<<" "; n++; } cout<<"*"<<endl; z--; } else { cout<<endl; } mx--; } else { cout<<endl; } } for(int f=0;f<=mx2;f++) { cout << "-"; } cout << endl; return 0; }