Pe prima linie a fişierului text alfa.txt, se găseşte o succesiune de cel puțin două şi cel mult 200 de caractere, caractere care pot fi doar litere mici. Scrieți un program care citeşte de la tastatură un număr natural n (0<=n<=100) şi stabileşte dacă există în fişier vreo literă ce apare de exact n ori. Programul afişează pe ecran mesajul „da” în cazul în care există cel puțin o literă cu proprietatea menționată şi mesajul „nu” în caz contrar. 3

  1. Citim textul din fișierul alfa.txt și îl stocăm într-un șir de caractere.
  2. Parcurgem șirul și numărăm de câte ori apare fiecare literă mică. Pentru a face acest lucru, putem folosi un vector de frecvențe, unde frecvența pentru fiecare literă este incrementată atunci când se găsește în șir.
  3. Verificăm dacă există o literă care apare de exact n ori și afișăm „da” dacă există sau „nu” în caz contrar.

#include <iostream>

#include <fstream>

#include <cstring>

using namespace std;

int main() {

    char text[201];

    int freq[26] = {0}; // initializam vectorul de frecvente cu 0

    int n;

    bool found = false;

    // Citim textul din fisier

    ifstream fin(„alfa.txt”);

    fin.getline(text, 201);

    fin.close();

    // Numaram frecventa fiecarei litere din text

    int len = strlen(text);

    for (int i = 0; i < len; i++) {

        if (text[i] >= ‘a’ && text[i] <= ‘z’) { // verificam daca e litera mica

            freq[text[i] – ‘a’]++; // incrementam frecventa literei gasite

        }

    }

    // Citim numarul n de la tastatura

    cout << „Introduceti un numar natural n (0 <= n <= 100): „;

    cin >> n;

    // Cautam daca exista o litera cu frecventa n in vectorul de frecvente

    for (int i = 0; i < 26; i++) {

        if (freq[i] == n) {

            found = true;

            break;

        }

    }

    // Afisam mesajul corespunzator

    if (found) {

        cout << „da\n”;

    } else {

        cout << „nu\n”;

    }

    return 0;

}

Acest program citește textul din fișierul alfa.txt folosind ifstream, numără frecvența fiecărei litere din șirul de caractere și apoi caută o literă care apare de exact n ori. Mesajul „da” sau „nu” este afișat pe ecran în funcție de rezultatul căutării.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *