mapa cyrowa w c++

0

Witam.
mam spory proplem musze zrobic mape cyfrowa w jezyku c++. Ma ona na celu szukanie najkrotszej drogi z punktu startowego do pkt docelowego i wyswietlanie jej. Myslalem o tym aby zrobic tablice dwuwymiarowa i wypełnic ja 1 a sciezki po ktorych mozna sie poruszac jako 0 tylko teraz nie wiem jak liczyc trase ponizej wklejam kod "mapki"
#include<iostream.h>
#include<stdio.h>
#include<conio.h>

main()
{
float tablica[25][35];

for (int i=0;i<25;i++)
for (int j=0;j<35;j++)
{
tablica[i][j]=1;
}
//droga prosta dolna
tablica[19][34]=0;
tablica[19][33]=0;
tablica[19][32]=0;
tablica[19][31]=0;
tablica[19][30]=0;
tablica[19][29]=0;
tablica[19][28]=0;
tablica[19][27]=0;
tablica[19][26]=0;
tablica[19][25]=0;
tablica[19][24]=0;
tablica[19][23]=0;
tablica[19][22]=0;
tablica[19][21]=0;
tablica[19][20]=0;
tablica[19][19]=0;
tablica[19][18]=0;
tablica[19][17]=0;
tablica[19][16]=0;
tablica[19][15]=0;
tablica[19][14]=0;
//droga prosta górna
tablica[5][23]=0;
tablica[5][22]=0;
tablica[5][21]=0;
tablica[5][20]=0;
tablica[5][19]=0;
tablica[5][18]=0;
tablica[5][17]=0;
tablica[5][16]=0;
tablica[5][15]=0;
tablica[5][14]=0;
tablica[5][13]=0;
tablica[5][12]=0;
tablica[5][11]=0;
tablica[5][10]=0;
tablica[5][9]=0;
tablica[5][8]=0;
tablica[5][7]=0;
tablica[5][6]=0;
tablica[5][5]=0;
tablica[5][4]=0;
tablica[5][3]=0;
tablica[5][2]=0;
tablica[5][1]=0;
tablica[5][0]=0;
//1 droga ukośna
tablica[19][25]=0;
tablica[18][25]=0;
tablica[17][25]=0;
tablica[16][25]=0;
tablica[15][25]=0;
tablica[14][24]=0;
tablica[13][24]=0;
tablica[12][24]=0;
tablica[11][24]=0;
tablica[10][24]=0;
tablica[9][23]=0;
tablica[8][23]=0;
tablica[7][23]=0;
tablica[6][23]=0;
tablica[5][23]=0;
// 2 droga ukosna
tablica[19][14]=0;
tablica[18][14]=0;
tablica[17][14]=0;
tablica[16][14]=0;
tablica[15][14]=0;
tablica[14][13]=0;
tablica[13][13]=0;
tablica[12][13]=0;
tablica[11][13]=0;
tablica[10][13]=0;
tablica[9][12]=0;
tablica[8][12]=0;
tablica[7][12]=0;
tablica[6][12]=0;
tablica[5][12]=0;
tablica[6][11]=0;
// 3 droga ukosna
tablica[7][10]=0;
tablica[8][10]=0;
tablica[9][9]=0;
tablica[10][9]=0;
tablica[11][8]=0;
tablica[12][8]=0;
tablica[13][7]=0;
tablica[14][7]=0;
tablica[15][6]=0;
tablica[16][6]=0;
tablica[17][5]=0;
tablica[18][5]=0;
tablica[19][5]=0;

//Wypisywanie tablicy
for (int k=0;k<25;k++)
{for (int l=0;l<35;l++)
cout<<tablica[k][l]<<" ";
cout<<endl;}

     getch();
     return 0;
 }

jeżeli mozecie mi coś poradzić lub macie podobny program to podeslijcie prosze.

0

Hej ,
taką rzecz dobrze zrobić jako graf skierowany, i szukać po nim algorytmem dijkstry (gotowce są na necie opisane).
Pozdro

0

Po co dijkstre xD Wystarczy zwykły BFS, gdyż krawędzie nie mają wagi.

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