Alx09

ex 17

May 9th, 2020
1,230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5.     char sahTable[8][8], i, j, pionProtected = 0; // matricea pentru tabla, pozitile i si j, nr pioni protejati
  6.     FILE *f; // variabila de tip fiser
  7.     f = fopen("in.txt", "r");// deschidere in mod citire
  8.     while (fscanf(f, "%c%c%*c", &i, &j) != EOF) // citim i si j si eliminam  spatiul alb prin *c
  9.         sahTable[i - 97][j - 48] = '1'; // salvam in matricea  valoarea 1 pentru datele introduse
  10.     fclose(f);//inchidem fiserul
  11.     f = fopen("out.txt", "w");// deschidem in mod scriere
  12.     for (i = 7; i ; i--) { // parcurgem matricea de la sfarsit
  13.         if (sahTable[i][0] == '1' && sahTable[i - 1][1] == '1') // find primul pion nu mai are vecin la stanga asa ca verifiam doar dreapta
  14.             pionProtected++; // daca are pion i- 1 poztie dreapta inseamna ca e protejat
  15.         for(j = 1; j < 7; j++) // verificam ceilanti pioni de pe line
  16.             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
  17.                 pionProtected++;
  18.         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
  19.             pionProtected++;
  20.     }
  21.     fprintf(f, "%d", pionProtected);// afisam numarul de pioni
  22.     fclose(f);// inchidem fiserul
  23.     return 0;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment