Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main() {
- char sahTable[8][8], i, j, pionProtected = 0; // matricea pentru tabla, pozitile i si j, nr pioni protejati
- FILE *f; // variabila de tip fiser
- f = fopen("in.txt", "r");// deschidere in mod citire
- while (fscanf(f, "%c%c%*c", &i, &j) != EOF) // citim i si j si eliminam spatiul alb prin *c
- sahTable[i - 97][j - 48] = '1'; // salvam in matricea valoarea 1 pentru datele introduse
- fclose(f);//inchidem fiserul
- f = fopen("out.txt", "w");// deschidem in mod scriere
- for (i = 7; i ; i--) { // parcurgem matricea de la sfarsit
- if (sahTable[i][0] == '1' && sahTable[i - 1][1] == '1') // find primul pion nu mai are vecin la stanga asa ca verifiam doar dreapta
- pionProtected++; // daca are pion i- 1 poztie dreapta inseamna ca e protejat
- for(j = 1; j < 7; j++) // verificam ceilanti pioni de pe line
- if (sahTable[i][j] == '1' && (sahTable[i - 1][j-1] == '1' || sahTable[i - 1][j + 1] == '1')) // daca are cel putin un pion i- 1 la stanga sau dreapta e protejat
- pionProtected++;
- if(sahTable[i][7] == '1' && sahTable[i-1][6] == '1')// fiind ultimul pion nu are vecin i -1 si dreapta ca sa nu iseim din memorie verificam doar la stanga
- pionProtected++;
- }
- fprintf(f, "%d", pionProtected);// afisam numarul de pioni
- fclose(f);// inchidem fiserul
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment