1. Bump up the compiler errors
Code:
$ g++ -W -Wall -ansi -pedantic -O2 foo.cpp
foo.cpp: In function `int main()':
foo.cpp:28: error: ISO C++ forbids variable-size array `code1'
foo.cpp:29: error: ISO C++ forbids variable-size array `aantal'
foo.cpp:29: error: ISO C++ forbids variable-size array `aantal_chars'
foo.cpp:41: warning: comparison between signed and unsigned integer expressions
foo.cpp:66: error: ISO C++ forbids variable-size array `plaats1'
foo.cpp:67: error: ISO C++ forbids variable-size array `aantal_p'
foo.cpp:67: error: ISO C++ forbids variable-size array `aantal_chars_p'
foo.cpp:80: warning: comparison between signed and unsigned integer expressions
foo.cpp:90: error: ISO C++ forbids variable-size array `score_codes'
foo.cpp:100: warning: unused variable 'tel_n'
foo.cpp:29: warning: unused variable 'aantal'
foo.cpp:67: warning: unused variable 'aantal_p'
Rather than having
int array[somevar];
you should have instead
int *array = new int[somevar];


> cstr = new char [code2.size()+1];
1. You're not modifying the string, so making a copy of it isn't necessary.
2. You're not doing
delete [ ] cstr;
later on in the loop, so it's a memory leak.

> while (k != code2.size())
For safety of your arrays, this should be
while (k < MAX && k != code2.size())

My guess is you're stepping off the ends of the arrays.

As for code structure, use some functions, rather than having a main() which is 200 lines long.