Kezdőoldal » Számítástechnika » Programozás » Miért lép ki a programom...

Miért lép ki a programom windows hiba üzenettel?

Figyelt kérdés

Lefuttatnám a kódot, az első kirajzolást még megcsinálja a program, utána meg előjön a windows hibajelentő és kilép a program. Nem tudja vki, hogy mi lehet a gond?


KÓD:


#include <iostream>

#include <cstdlib>


using namespace std;


const int N=5;



int mtx[N][N]={

{0,1,1,1,1},

{0,0,1,0,3},

{0,1,1,0,1},

{0,0,0,0,1},

{0,0,1,1,1}


};


void mtxRajz(){


for(int i=0;i<N;i++){

for(int j=0;j<N;j++){

cout<<mtx[i][j];

}

cout<<endl;

}

}


bool find_path(int x, int y)

{

// x,y mátrixon kívűl van akkor false

if ( x < 0 || x > N - 1 || y < 0 || y > N - 1 ) return false;


// cél elérés

if ( mtx[y][x] == 3 ) return true;


// ha az első nem nulla kilép

if ( mtx[y][x] != 0 ) return false;


// FEL

if ( find_path(x, y - 1) == true ) return true;


// JOBB

if ( find_path(x + 1, y) == true ) return true;


// LE

if ( find_path(x, y + 1) == true ) return true;


// BAL

if ( find_path(x - 1, y) == true ) return true;


// zsákutca

mtx[y][x] = -1;


return false;


}


int main(){

int i=0,j=0;


mtxRajz();

cout<<endl;



if(find_path(i,j)==true) cout<<"van út"<<endl;

else cout<<"nincs út"<<endl;


mtxRajz();


}



2015. márc. 29. 19:49
 1/6 anonim ***** válasza:

Látatlanul is túlindexelés, és átnézve is.

-1-es index nem létezik.

2015. márc. 29. 20:14
Hasznos számodra ez a válasz?
 2/6 Tengor ***** válasza:

Nincs túlindexelés. Végtelen ciklusba keveredik:

x:0 y: 1

x:0 y: 0

x:0 y: -1

x:1 y: 0

Ezek hívódnak egymás után.

2015. márc. 29. 20:16
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
és ezt hogy lehet orvosolni? mert ha karaktereket(char) rakok a számok helyére akkor működik, viszont nekem integerekkel kéne.
2015. márc. 29. 21:38
 4/6 Tengor ***** válasza:

Logikai hiba van benne, azt keresd meg!

A charral talán azért működhet, mert annak 0-255 is lehet az értékkészlete, és amikor 0-ból kivonsz 1-et, akkor 255 lesz belőle.

2015. márc. 29. 21:42
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
Nem feltétlen van a char 0 - 255 -ig.
2015. márc. 29. 21:56
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

Bár Tengor is azt írta és sikeresen félreolvastam. Talán ez is hasznos lehet:

[link]

2015. márc. 29. 21:59
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!