Alx09

Ex1

May 7th, 2020
1,554
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.94 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5.     char a, b; // citim doua caratcere
  6.     unsigned cnt = 1; // variabila pentru a numara decate ori apare
  7.     FILE *f, *g; // variabile de tip fiser
  8.     f = fopen("in.txt", "r");// deschidere in mod citire
  9.     g = fopen("out.txt", "w");// deschidere in mod scriere
  10.     fscanf(f, "%c", &a); // citim prima data a
  11.     while (fscanf(f, "%c", &b) != EOF) { // cat timp mai sunt numere in fiser
  12.         if (a == b) cnt++; // daca numarul curent este = cu ce-l precedent incrementam variabila contor
  13.         else{
  14.             fprintf(g, "%c%u", a, cnt); // altfel afisam litera si numarul de apariti
  15.             a = b; // acum avem alta litera asa ca punem  valoarea din b in a pentru comparatia urmatoare
  16.             cnt = 1; // resetam contorull
  17.         }
  18.     }
  19.     fprintf(g, "%c%u", a, cnt); // deoarece nu se ia in calcul ultima verificare din while trebuie facuta in afara functiei
  20.     fclose(f);// inchidem fiserul
  21.     fclose(g);// inchidem fiserul
  22.     return 0;
  23. }
Advertisement
Add Comment
Please, Sign In to add comment