#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;

int main(void){
double a[5],b[5];
int i;
for (i=1;i<=4;i++){
cout << " a[" << i <<"]=" ;cin >> a[i] ;
cout << " b[" << i <<"]=" ;cin >> b[i] ;
}

ofstream abOut ("ab.dat");
for (i=1;i<=4;i++){
abOut << a[i] << " " << b[i] << endl;
}

FILE *fp = popen("gnuplot -persist", "w");
if (fp == NULL)
return -1;
fputs("set mouse\n", fp); //マウス有効化
fputs("set xrange [-10:10] \n", fp);
fputs("set yrange [-10:10] \n", fp);
fputs("plot 'ab.dat' \n", fp);
fflush(fp);
cin.get();
pclose(fp);
return 0;
}

これでも1/3くらいでエラーがでます。不規則にエラーが出るので原因は分かりません。