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();
}