Cześć,
Na początek - nie jestem i nie będę programistą, mam do zaliczenia programowanie obiektowe. Temat zadania - napisać klasę liczącą wartości dwóch funkcji, dodanie tych wartości oraz zapisanie wszystkiego (jednej i drugiej funkcji i ich sumy) jako wykres w pliku ppm3.
Pierwsza część jest prosta i tutaj sobie poradziłem.
Mam problem z zapisem do ppm3. W sieci znalazłem tylko specyfikację formatu i małe przykłady. Chciałem zacząć od "narysowania" białej kartki, a potem pokombinować z przeskalowaniem wartości i naniesieniem tego na białą kartkę. Jeśli zapisuję moją kartkę, 800x800, wartościami 255, to niestety tylko początek jest biały. Nie potrafię, na tę chwilę, tego przeskoczyć. Docelowo mam w planie pisać wartości do tablicy dwuwymiarowej, teraz testowo chciałem sprawdzić "wszystko na biało". Załączam moje wypociny i proszę o sugestię/wskazówki/pomoc.

 
#include <iostream>
#include <cmath>
#include <fstream>

const char *FILENAME = "test.ppm";
const int SIZE = 800;


using namespace std;

class addFunctions{
private:
	float min;
	float max;
public:
	addFunctions() {min = -10;max = 10;}
	addFunctions(float min, float max) {
			this->min = min;
			this->max = max;}

	int getMin(void){return min;}
	int getMax(void){return max;}
	
	float fun1 (float x){return cos(x);}
	
	float fun2 (float x){return sin(x) * sin(x);}
	
	float addFun(float x){return fun1(x) + fun2(x);}
	
	void write() {
		ofstream outfile;
		outfile.open(FILENAME);

		outfile << "P3\n" << SIZE << " " << SIZE << "\n255\n";

		for (int i=0; i<SIZE; i++) {
			for (int j=0; j<SIZE; j++) {
				outfile << 255 << " ";
			}
			outfile << endl;
		}	
		outfile.close();
	}

};

int main(){
	addFunctions X(-2,2);
//	for(int i = X.getMin(); i <= X.getMax(); i++){
//		cout << "Dla x = " << i << "	cosx = " << X.fun1(i) << endl;
//		cout << "Dla x = " << i << "    sinx * sinx = " << X.fun2(i) << endl;
//		cout << "Dla x = " << i << "    cosx + sinx*sinx = " << X.addFun(i) << endl;}}
	X.write();
}