kod w C++,jak zmienić deklarację dynamicznych tablic F i plansza na statystyczne

0
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char*argv[])
{

   unsigned short n; //deklaracja zmiennej n określającej długość planszy
   unsigned short*sposoby=new
   unsigned short[n-1]; //deklaracja tablicy, z której odczytujemy ilość sposobów na wygraną

   cout<<"podaj ilosc pol:"<<endl;
   cin>>n;  //wczytanie ilości pól planszy
   bool*pola=new bool[n]-1; //zadeklarowanie tablicy z polami planszy, na której określamy, gdzie są dziury

   cout<<"podaj pola gry:"<<endl;
   int i=0;
   do{
   std::cin>>pola[i];
   i++;
   }while(i<n); //wczytanie pół planszy
   for (int i=1; i<=n; i++){
   sposoby[i]=1;
   } //wypełnienie wszystkich pól planszy "sposoby" jedynkami
   for(int i=1; i<=n; i++){
        for(int j=1;j<=6;j++){
            if(i-j>=0){
              if (pola[i-j]==1){

                sposoby[i]=sposoby[i]+sposoby[i-j]; //obliczenie ilości sposobów wygrania w grze

                }

            }
        }
    }

    cout<<"wynik:"<<(sposoby[n-1])%1000<<endl; //wypisanie wyniku, %1000 oznacza, że wypisujemy wynik modulo 1000 

     system("pause");
     return EXIT_SUCCESS;
    } 
Zad 1. Dziurawa plansza.
Na planszy o n polach (ponumerowanych od 1 do n) soi pionek na polu o numerze 1. Niestety plansza zniszczyła się z biegiem czasu i niektóre pola (poza 1 i n) są dziurawe. Jeden gracz wielokrotnie rzuca kostką sześcienną i przesuwa pionek o liczbę pól wskazaną na kostce (1,2,…, 6). Gra kończy się gdy:
•   pionek stanie na polu o numerze n (meta) – wtedy racz wygrywa,
•   pionek wpadnie w dziurę lub wyjdzie poza planszę – wtedy gracz przegrywa.
Napisz program obliczający liczbę różnych rozgrywek (ciągów wyników rzutu kostką) prowadzących do wygranej. 
Program powinien pobierać następujące dane w kolejnych liniach:
•   n – wielkość planszy 1<n<1000000
•   p1 p2 p3… pn – n cyfr 1 lub 0 (bez spacji) określających występowanie dziur na planszy (0 oznacza dziurę na i-tym miejscu)

Program powinien zwracać liczbę sposobów, na jaką można dojść z pola 1 do pola n, nie wpadając do dziury. 
Np. dla danych:
7
1101001
Poprawną odpowiedzią jest: 4
Usprawnienie 1*. Zadbaj o typy używanych zmiennych tak, aby zużywać tylko niezbędną ilość pamięci. 
Usprawnienie 2*. Obliczaj wyniki mod 1000, dzięki temu nie przekroczysz zakresu zmiennej zawierającej wynik. 
0

1) Pytanie nie pasuje do kodu
2) Kod nie pasuje do C++
3) tablica statystyczna w C++ nie występuje

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0