Malutkie błędy, łącząc twój przykład z moim powstało takie coś :) :
GML
_s = get_string( "Podaj ciąg jedynek i zer:", "1000110001110001111" );
_g = "";
_c = 0;
for( _i = 0; _i < string_length( _s ); _i += 1; )
{
_char = string_char_at( _s, _i + 1 );
if ( real( _char ) )
{
_c += 1;
if ( !real( string_char_at( _s, _i + 2 ) ) )
{
_g += string( _c );
_c = 0;
}
}
}
show_message( "Wynik: " + _g );
Idea twa, moje wykonanie :P .
Mały opis:
GML
// pobieranie ciagu znakow
_s = get_string( "Podaj ciąg jedynek i zer:", "1000110001110001111" );
// wynik
_g = "";
// aktualna liczba, zerowana podczas napotkania zera.
_c = 0;
// petla po kazdym znaku
for( _i = 0; _i < string_length( _s ); _i += 1; )
{
// znak
_char = string_char_at( _s, _i + 1 );
// jesli jest inny od zera ( jedynka )
if ( real( _char ) )
{
// dodajemy do zmiennej jeden
_c += 1;
// jesli nastepna liczba to zero:
if ( !real( string_char_at( _s, _i + 2 ) ) )
{
// dodajemy do wyniku aktualna wartosc zmiennej
_g += string( _c );
// zerowanie zmiennej
_c = 0;
}
}
}
// wiadomosc
show_message( "Wynik: " + _g );