S
Ja, er meint Ordnung. Struktur könnte man auf das struct zurüclführen und das gibt es sehr wohl in C und auch C++.
Nein, er meint, dass du dein Programmcode mal aufräumen sollst, du sollst ihn lesbar machen.
Was ist einfacher zu lesen/verstehen, und was sieht rein optisch schöner aus?
#define o(a,b,c,d) a##f b##f c##f d; a##g b##g c##g d;q--
#define Z(z)if(*j==z)
#define c(z,p) Z(z){y;v p##=r;o(b,[q-1]=b,[q] p b,[q]);}
#define y q+=t;t=0
#define r w[q]
#define v w[q-1]
#define w(a,m,f) Z(a){y;r=m(r);q++;o(b,[q-1] = -b,[q-1]*f(r)+0*b,[0]);}
#define A(p,w,o) for(p=0;p<w;p++)_(o)
#define P(a) for(a=Z;a<Z;a++)
#define _ putchar
typedef double o;
typedef char z;
o A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y, E_, w[20], bf[20], bg[20],x=-1.3/8,p,d,l=0,h=4e-3,f,m;
z e[17] = "FKE<<gMAQUDIYO9\"=", *k, *j; o g(o p, o d){int q =-1,t=0;j=k;while( *j ){c(45,-);Z(100){y;q++;r=v;q[bf]=bf[q-1];q[bg]=bg[q-1];}Z(42)
{y;v*=r;o(b,[q-1]=r*b,[q-1] + v*b,[q]);}Z(44){t=0;q++;}Z(116){f=v;v=r;r=f;f=bf[q];q[bf]=bf[q-1];bf[q-1]=f;f=q[bg];bg[q]=(q-1)[bg];bg[q-1]=f;
}c(43,+);Z(47){y;v/=r; o(b,[q-1]=b,[q-1]/r-v/ (r*r)*b,[q]);}Z(121){y;q++ ;r=d; bf[ q]=0;bg[q]=1;}
Z(94){y;f=v;v=pow(v,r) ;o(b,[q-1]=r*b,[q-1]* pow(f,r-1)+0*b,[q]);}w(115 ,sin,cos);w(99,cos,sin);
Z(120){y;q++;r=p;bf[q] =1;bg[q]=0;}if(*j>=48 &&*j<58){q++;t=1;r=*j-48 ; bf[q] = 0;(q--)[bg] = 0;
}j++;}H=bf[0] ;K= bg[ 0]; return w[0];}
void s(){int e=0;X=Q*8;f=g (Y*8, L*8 )
;e=(f-X<0)?1: -1;l=0;while((l+=h)<8) {
V=Y*8+l*R;W=L* 8+l*D;X= Q*8+l*U;f=g(V,W);if((f -X)*e>0){if(V>-1&&V<1&&W>
-1&&W<1){p=V;d=W;return ;}else e/=-1;}}p=d=-10 ;}int main(int argc, z **
argv){int c, f;z b[2],Z ;S=0,C=1;k=argv[1];Z = atoi(argv[2])>>1;b[1]=Z*2
&255;b[0]=Z>> 9;J= 3.1415/Z;A(f,6,f[e]^f+1);while(--f>1)_(
(f%2)[b]);_(246);A(c,384,c/3%2?c/6<<2:0);_(_(0));_(_((_(33)
<<3)-9)/23);for(f+=5;f < c/22 ; f++) _(e[f] ^ f - 3);for(;f
> c/29;f--)_(f>15?2*f-
31:c);_(0);for(f=0;f<=
Z*2 ; f++){N = S;E_=1-
J*J/2;T=J*(1-J*J/6);
S=S*E_+C*T;C=C*E_-N*
T;A=-(C*C-S*S);P=-A*
C;E=A*S;G=S*C*2;I=-
G*S;F=G*C;_((_(e[10
]/2-1)<<3)-18);for(
c=-1;c<5;c++)_((c+1)%2?0:-2*c*c+3*c+9);_(44);A(c,9,c&4?(1-c%2
)[b]:0);_(7);for(B=-Z ; B<Z ; B++){_(Z+2);for(O=-Z;O<Z;O++){Y
= (E - P*B/Z - G*O/Z)*x;L = (I - F*B/Z - A*O/Z)*x;Q = (-C +S*
B/Z)*x;R = - Y + E; D =-L+I; U =-Q-C;s();3[w] = sqrt(R*R + D*D + U*U);m=p==-10?1:(4[w]=sqrt(H*H+K*K+1)*w[3],H/=-4[w],K/=-4[w],
fabs(H*R + K*D + U/4[w])*exp(-l*l/2) );_((z)(m * 63)*2 + ((z)((p+1)*6) % 2 + (z)((d+1)*6) % 2 == 1 ? 1 : 0));O?l:(_(128),_(B!=
Z-1 ? Z : Z+1));}_(128);}_(_(129)-129);}_(0x3b);}
(Quelle)
oder das hier:
// constructing maps
#include <iostream>
#include <map>
bool fncomp (char lhs, char rhs) {return lhs<rhs;}
struct classcomp {
bool operator() (const char& lhs, const char& rhs) const
{return lhs<rhs;}
};
int main ()
{
std::map<char,int> first;
first['a']=10;
first['b']=30;
first['c']=50;
first['d']=70;
std::map<char,int> second (first.begin(),first.end());
std::map<char,int> third (second);
std::map<char,int,classcomp> fourth; // class as Compare
bool(*fn_pt)(char,char) = fncomp;
std::map<char,int,bool(*)(char,char)> fifth (fn_pt); // function pointer as Compare
return 0;
}
(Quelle)