Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
void ausgabe(unsigned int zahl);
void ausgabekurz(unsigned int zahl);
int main()
{
cout<<"Hoehe:";
unsigned höhe, größe;
cin>>höhe;
ofstream outfile("pascal.bmp", ios::out | ios::binary);
outfile.write("BM",2);
switch(höhe%4)
{
case 0: größe=höhe*((2*höhe+2)*3+2)+54; break;
case 1: größe=höhe*((2*höhe+2)*3+0)+54; break;
case 2: größe=höhe*((2*höhe+2)*3+2)+54; break;
case 3: größe=höhe*((2*höhe+2)*3+0)+54; break;
}
ausgabe(größe);
ausgabe(0);
ausgabe(54);
ausgabe(40);
ausgabe(höhe*2+2);
ausgabe(höhe);
ausgabekurz(1);
ausgabekurz(24);
ausgabe(0);
ausgabe(0);
ausgabe(0);
ausgabe(0);
ausgabe(0);
ausgabe(0);
unsigned short **pascal = new unsigned short *[höhe*2+2];
for (unsigned i = 0; i < höhe*2+2; ++i) pascal[i] = new unsigned short[höhe];
pascal[0][0]=1;
for(unsigned short x=0; x<höhe*2+2;x++)
for(unsigned short y=0; y<höhe; y++)
pascal[x][y]=0;
unsigned char end=255;
unsigned short x,y;
pascal[höhe][höhe-1]=pascal[höhe+1][höhe-1]=1;
for(x=1; x<=höhe*2; x++)
for(y=höhe-2; y>0; y--)
pascal[x][y]=(pascal[x+1][y+1]+pascal[x-1][y+1])%2;
for(y=0; y<=höhe-1; y++)
{
for(x=0; x<=höhe*2+1; x++)
{
switch(pascal[x][y])
{
case 1:
outfile.put(0);
outfile.put(0);
outfile.put(end);
break;
case 0:
if(x+y<=2048&&x-1<=y)
{
outfile.put(0);
outfile.put(end);
outfile.put(end);
}
else
{
outfile.put(end);
outfile.put(end);
outfile.put(end);
}
break;
}
}
outfile.put(0);
outfile.put(0);
}
for (unsigned i = 0; i < höhe*2+2; ++i) delete[] pascal[i];
delete[] pascal;
outfile.close();
return 0;
}
void ausgabe(unsigned zahl)
{
unsigned s1, s256, s65536, s16777216;
s1=zahl%256;
zahl/=256;
s256=zahl%256;
zahl/=256;
s65536=zahl%256;
zahl/=256;
s16777216=zahl%256;
outfile.put(s1);
outfile.put(s256);
outfile.put(s65536);
outfile.put(s16777216);
}
void ausgabekurz(unsigned zahl)
{
unsigned s1, s256;
s1=zahl%256;
zahl/=256;
s256=zahl%256;
outfile.put(s1);
outfile.put(s256);
}
Ja, schei*e, der Code ist wohl doch noch nicht ganz richtig.Ich kriege danach aber ein lustiges BMP mit gelben Dreieck links und roter Linie rechts
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
void ausgabe(unsigned int zahl);
void ausgabekurz(unsigned int zahl);
std::ofstream outfile("pasc.bmp", ios_base::out | ios_base::binary);
int main()
{
cout<<"Hoehe(Bitte nur gerade Zahl):";
unsigned hoehe, groesse;
cin>>hoehe;
hoehe+=1;
outfile.write("BM",2);
switch(hoehe%2)
{
case 0: groesse=hoehe*((2*hoehe+2)*3+2)+54; break;
case 1: groesse=hoehe*((2*hoehe+2)*3)+54; break;
}
ausgabe(groesse);
ausgabe(0);
ausgabe(54);
ausgabe(40);
ausgabe(hoehe*2+2);
ausgabe(hoehe);
ausgabekurz(1);
ausgabekurz(24);
ausgabe(0);
ausgabe(0);
ausgabe(0);
ausgabe(0);
ausgabe(0);
ausgabe(0);
unsigned short **pasc = new unsigned short *[hoehe*2+2];
for (unsigned i = 0; i < hoehe*2+2; ++i)
pasc[i] = new unsigned short[hoehe];
for(unsigned short x=0; x<hoehe*2+2;x++)
for(unsigned short y=0; y<hoehe; y++)
pasc[x][y]=0;
pasc[hoehe][hoehe]=pasc[hoehe+1][hoehe]=1;
for(unsigned y=hoehe-1; y>0; y--)
for(unsigned x=1; x<=hoehe*2; x++)
pasc[x][y]=(pasc[x+1][y+1]+pasc[x-1][y+1])%2;
unsigned char a150=150;
for(unsigned y=1; y<=hoehe; y++)
{
for(unsigned x=0; x<=hoehe*2+1; x++)
{
switch(pasc[x][y])
{
case 1://Muster
outfile.put(125);
outfile.put(a150);
outfile.put(0);
break;
case 0://Dreiecke
if(x+y<=hoehe*2&&x-1>y&&x>0)
{
outfile.put(a150);
outfile.put(125);
outfile.put(0);
}
else//Hintergrund
{
outfile.put(a150);
outfile.put(100);
outfile.put(0);
}
}
}
switch(hoehe/2)
{
case 0:
outfile.put(0);
outfile.put(0);
break;
case 1:
break;
}
}
for (unsigned i = 0; i < hoehe*2+2; ++i) delete[] pasc[i];
delete[] pasc;
outfile.close();
return 0;
}
void ausgabe(unsigned zahl)
{
unsigned s1, s256, s65536, s16777216;
s1=zahl%256;
zahl/=256;
s256=zahl%256;
zahl/=256;
s65536=zahl%256;
zahl/=256;
s16777216=zahl%256;
outfile.put(s1);
outfile.put(s256);
outfile.put(s65536);
outfile.put(s16777216);
}
void ausgabekurz(unsigned zahl)
{
unsigned s1, s256;
s1=zahl%256;
zahl/=256;
s256=zahl%256;
outfile.put(s1);
outfile.put(s256);
}