008
25.12.2003, 21:17 Uhr
kronos
Quotenfisch (Operator)
|
vielleicht hilft dir das:
C++: |
int f (int x, int *y) // x und y sind die übergebenen werte a[i] & a[j] { int z;
z = (x + *y) % 5; // der term x%5 ergibt den rest, der bleibt wenn man x durch 5 teilt. also 13%5 wäre 3. *y = x; // irrelevant return (z); // z wird zurückgegeben und wird unten a[i] zugewiesen }
void main () { int i, j; // a [5] = {2,1,4,0,3}; ist gleichbedeutend mit: int a[5]; a[0]=2; a[1]=1; a[2]=4; a[3]=0; a[4]=3;
for (i=0; i < 5; i++) /* das bedeutet: - i ist am anfang 0 - solange i<5 wahr ist wird der folgende code ausgeführt - nach jedem durchgang des codes wird i++ (i=i+1) ausgeführt. */ { j=a [ i ]; // j wird also erst 2, dann 1, dann 4... a[ i ] = f (a [ i ], &a [j]; // a[i] bekommt eine neue belegung die aus a[i] und a[j] mittels f errechnet wird (s.o.) } }
|
lass dich von den * und & nicht stören. &x bedeutet, die speicheraddresse der variable x. *px bedeutet der inhalt der addresse px. in diesem falls sind sie unbedeutend, weil sie sich "aufheben" -- main($)??<-$<='?'>>2?main($-!!putchar( (("$;99M?GD??(??/x0d??/a:???;a"+'?'/4) ??($??)+'?'/3-2-1+$%2)??''?')):'?';??> |