Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##hledani shody
- bool porovnej (Tdata vekt, Tdata mat)
- {
- int clen=1, smer='V', shoda=0, r=0, s=0;
- for (int r0=0;r0<mat.radku;r0++)
- {
- for (int s0=0;s0<mat.sloupcu;s0++)
- {
- if (vekt.vektor[0]==mat.matice[r0][s0])
- {
- switch (smer)
- {
- case 'V':
- {
- clen=1;
- r=r0;
- s=s0;
- shoda=0;
- while (clen<vekt.prvku)
- {
- if ((s+1)<mat.sloupcu)
- {
- if (mat.matice[r][s+1]==vekt.vektor[clen])
- {
- shoda++;
- if ((clen+1)==vekt.prvku) break;
- s++;
- clen++;
- }
- else clen=vekt.prvku;
- }
- else clen=vekt.prvku;
- }
- }
- case 'JV':
- {
- clen=1;
- r=r0;
- s=s0;
- shoda=0;
- while (clen<vekt.prvku)
- {
- if (((s+1)<mat.sloupcu)&&((r+1)<mat.radku))
- {
- if (mat.matice[r+1][s+1]==vekt.vektor[clen])
- {
- shoda++;
- if ((clen+1)==vekt.prvku) break;
- s++;
- r++;
- clen++;
- }
- else clen=vekt.prvku;
- }
- else clen=vekt.prvku;
- }
- if ((clen+1)==vekt.prvku) break;
- }
- case 'J':
- {
- clen=1;
- r=r0;
- s=s0;
- shoda=0;
- while (clen<vekt.prvku)
- {
- if ((r+1)<mat.sloupcu)
- {
- if (mat.matice[r+1][s]==vekt.vektor[clen])
- {
- shoda++;
- if ((clen+1)==vekt.prvku) break;
- r++;
- clen++;
- }
- else clen=vekt.prvku;
- }
- else clen=vekt.prvku;
- }
- if ((clen+1)==vekt.prvku) break;
- }
- case 'JZ':
- {
- clen=1;
- r=r0;
- s=s0;
- shoda=0;
- while (clen<vekt.prvku)
- {
- if ((s>0)&&((r+1)<mat.radku))
- {
- if (mat.matice[r+1][s-1]==vekt.vektor[clen])
- {
- shoda++;
- if ((clen+1)==vekt.prvku) break;
- s--;
- r++;
- clen++;
- }
- else clen=vekt.prvku;
- }
- else clen=vekt.prvku;
- }
- if ((clen+1)==vekt.prvku) break;
- }
- case 'Z':
- {
- clen=1;
- r=r0;
- s=s0;
- shoda=0;
- while (clen<vekt.prvku)
- {
- if (s>0)
- {
- if (mat.matice[r][s-1]==vekt.vektor[clen])
- {
- shoda++;
- if ((clen+1)==vekt.prvku) break;
- s--;
- clen++;
- }
- else clen=vekt.prvku;
- }
- else clen=vekt.prvku;
- }
- if ((clen+1)==vekt.prvku) break;
- }
- case 'SZ':
- {
- clen=1;
- r=r0;
- s=s0;
- shoda=0;
- while (clen<vekt.prvku)
- {
- if ((s>0)&&(r>0))
- {
- if (mat.matice[r-1][s-1]==vekt.vektor[clen])
- {
- shoda++;
- if ((clen+1)==vekt.prvku) break;
- s--;
- r--;
- clen++;
- }
- else clen=vekt.prvku;
- }
- else clen=vekt.prvku;
- }
- if ((clen+1)==vekt.prvku) break;
- }
- case 'S':
- {
- clen=1;
- r=r0;
- s=s0;
- shoda=0;
- while (clen<vekt.prvku)
- {
- if (r>0)
- {
- if (mat.matice[r-1][s]==vekt.vektor[clen])
- {
- shoda++;
- if ((clen+1)==vekt.prvku) break;
- r--;
- clen++;
- }
- else clen=vekt.prvku;
- }
- else clen=vekt.prvku;
- }
- if ((clen+1)==vekt.prvku) break;
- }
- case 'SV':
- {
- clen=1;
- r=r0;
- s=s0;
- shoda=0;
- while (clen<vekt.prvku)
- {
- if (((s+1)<mat.sloupcu)&&(r>0))
- {
- if (mat.matice[r-1][s+1]==vekt.vektor[clen])
- {
- shoda++;
- if ((clen+1)==vekt.prvku) break;
- s++;
- r--;
- clen++;
- }
- else clen=vekt.prvku;
- }
- else clen=vekt.prvku;
- }
- if ((clen+1)==vekt.prvku) break;
- }
- }
- if (shoda==true) return true;
- }
- }
- }
- if (shoda==0) return false;
- else return true;
- }
Add Comment
Please, Sign In to add comment