Ich habe folgenden Quellcode und muss rausfinden,was dabei rauskommt.
Wenn ich das so ins programm eingebe,bekomme ich meine Lösung,kann aber nicht nachvollziehen,wie diese entsteht.
Weiß jemand Rat?
c++ Quellcode:
#include <iostream.h>
int c;
int k(int a, int b, int c)
{
b = 2 * a + b - c;
if ( b )
return a % b;
else return b % a;
}
void main()
{
int a = -6; int b = 4; c = a / 4; int n = 9;int v[10];
do {v[n] = n % 3;}
while (--n);
c = v[n] = k(b,a,c);
for (n = 0; n < 10; n++) cout << v[n] << endl;
}
Die Lösung lautet:
1
1
2
0
1
2
0
1
2
0
Wenn ich das so ins programm eingebe,bekomme ich meine Lösung,kann aber nicht nachvollziehen,wie diese entsteht.
Weiß jemand Rat?
c++ Quellcode:
#include <iostream.h>
int c;
int k(int a, int b, int c)
{
b = 2 * a + b - c;
if ( b )
return a % b;
else return b % a;
}
void main()
{
int a = -6; int b = 4; c = a / 4; int n = 9;int v[10];
do {v[n] = n % 3;}
while (--n);
c = v[n] = k(b,a,c);
for (n = 0; n < 10; n++) cout << v[n] << endl;
}
Die Lösung lautet:
1
1
2
0
1
2
0
1
2
0