# PBinfo #1346 – pbinfo – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința 
NOTĂ : aceasta este o problemă introductivă în funcțiile care procesează șiruri de caractere. Povestea din cerința NU este adevărată. 

Hacker-ul Gogu și-a neglijat serios activitatea în ultima vreme, așa că și-a propus să mai spargă încă un site, care, din întâmplare, este chiar www.pbinfo.ro. 

Date de intrare 
Pe prima linie se citește un șir reprezentând un link al site-ului PbInfo. Pe linia a doua, se citește un număr întreg n (1 <= n <= 20), iar pe următoarele n linii se citesc n cuvinte cheie. Scopul vostru este să aflați dacă hacker-ul Gogu s-a infiltrat și a schimbat link-ul original. 

Date de ieșire
Dacă link-ul dat conține unul din cuvintele cheie precizate în fișierul de intrare sau conține cuvântul “virus”, afișați DA, altfel afișați NU. 

Restricții și precizări

cuvintele vor fi mai scurte decât link-ul precizat, iar link-ul va avea maxim 100 de caractere;
hacker-ul Gogu nu este profesionist, așa că nu este nevoie să va alarmați;
input-ul va conține numai litere mici ale alfabetului englez și separatorii ,.!?/:.

Exemplul 1
pbinfo.in

//htttp:www.pbinfo.ro
3
hacked
gogu
htttp
pbinfo.out

DA
Exemplul 2
pbinfo.in

//http:www.pbinfo.ro 
3
hacked
gogu
htttp
pbinfo.out

NU
Exemplul 3
pbinfo.in

//http:www.pbinfo.virus.ro
1
gogu
pbinfo.out

DA

## Cod sursă C++

```cpp
#include <fstream>
#include <string.h>
using namespace std;
ifstream in("pbinfo.in");
ofstream out("pbinfo.out");
int main() {
    char link[101], cuv[100][103];
    int var, temp = 0;
    in.get();
    in.get(link, 101);
    in >> var;
    while (var != 0) {
        in.get();
        in.get(cuv[temp], 103);
        temp++;
        var--;
    } if (strstr(link, "virus")) out << "DA";
    else {
        bool adv =  false;
        for (int i = 0; i < temp; i++) {
            if (strstr(link, cuv[i])) {
                adv = true;
                break;
			}
        } if (adv == true) out << "DA";
        else out << "NU";
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1346)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1346/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1346/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
