Kezdőoldal » Számítástechnika » Programozás » Hogy kell keresni const...

Hogy kell keresni const structban?

Figyelt kérdés

Adott egy struct ez, abban egy tabla nevezetu, ami 4x4 es tábla. Hogy kell olyan funkciót írni, ami megkeresi, hogy abban a 4x4 mezoben megtalálható-e pl. a B betu? Eddig egyenlore csak az x t tengelyen probalkoztam, s ezt a programot irtam meg:


struct ez ez = {

.tabla = {

{'Z', ' ', 'B', 'D'},

{' ', ' ', ' ', 'R'},

{' ', ' ', ' ', ' '},

{' ', ' ', ' ', ' '}

};

bool is_found(const struct ez ez){

char finish[] = "B";

for(int x=0; x < 4; x++){

if (ez.tabla == finish){

return true;

break;

}

}

return false;

}


de egyáltalán nem mukodik. Hogy lehetne helyesen megírni? Tuti, nagyon rosszul csináltam, mmég kezdo vagyok

elindításnál ezt a hibát dobja ki:

error: comparison of distinct pointer types lacks a cast [-Werror]

if (&game.board == finish){

^


2017. márc. 24. 18:28
 1/6 anonim ***** válasza:
0%
Mi ez a hulladék?
2017. márc. 24. 18:41
Hasznos számodra ez a válasz?
 2/6 sharkxxx ***** válasza:
100%

[link]


#include <stdio.h>


typedef struct ez_t {

char tabla[4][4];

} az ;


// Returns true, if the character c is found in the array a.

bool is_found(ez_t a, char c) // Amit keresel, azt a paraméterben kell megadni.

{

int x, y;

for(y = 0; y < 4; y++) { // Kétdimenziós tömböt két egybe ágyazott ciklussal kell feldolgozni.

for(x = 0; x < 4; x++) {

if (a.tabla[y][x] == c) { // A tömb elemeinek értékeihez az indexek segítségével lehet hozzáférni.

return true; // Ez a parancs megszakítja a ciklust. Felesleges ide a break parancs is.

}

}

}

return false;

}


int main(int argc, char *argv[])

{

ez_t b =

{

{

{'Z', ' ', 'B', 'D'},

{' ', ' ', ' ', 'R'},

{' ', ' ', ' ', ' '},

{' ', ' ', ' ', ' '}

}

};

bool f = is_found(b, 'B');

if (f) {

printf("Found\n");

} else {

printf("Not found\n");

}

return 0;

}

2017. márc. 24. 19:52
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
wau, koszonom nagyon szepen :) csak nekem meg az lenne a problema, hogy a bool is_found(const struct ez ez) -t kotelezo hasznalnom
2017. márc. 24. 20:10
 4/6 A kérdező kommentje:
es kulon hálás vagyok a kódban a kommentárokért is :)
2017. márc. 24. 20:12
 5/6 A kérdező kommentje:

de még azon is gondolkodtam, hogy valahogy meg lehetne oldani bsearch-el is, csak az a baj, hogy nem tudom pontosan hogy kell megadni benne néhány elemet:

void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));


base (vagyis a kezdete - próbáltam a .tabla-t, nem vált be), nmembe (az elemek szama - esetleg ez 16?), valamint a compar -t nem tudtam hogyan megadni

2017. márc. 24. 20:34
 6/6 anonim ***** válasza:
Atyaúristen
2017. márc. 24. 22:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!