# PBinfo #275 – PerechiVocale1 – Rezolvare C++

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

## Enunț

Cerinţa
Se dă un text în care cuvintele sunt formate din litere mici ale alfabetului englez şi cifre şi sunt separate prin spaţii şi semne de punctuaţie. Să se determine perechea de vocale alăturate din text care apare de cele mai multe ori.

Date de intrare
Fişierul de intrare perechivocale1.in conţine textul dat, situat pe mai multe linii.

Date de ieşire
Fişierul de ieşire perechivocale1.out va conţine pe prima linie perechea de vocale găsită. 

Dacă există mai multe asemenea perechi de vocale, se vor afişa toate, în ordine lexicografică şi separate printr-un spaţiu. 

Dacă în text nu există nici o pereche de vocale consecutive, se va afişa mesajul “NU”.

Restricţii şi precizări

cuvintele din text sunt formate din cel mult 40 caractere;

Exemplu:
perechivocale1.in

aleea ce strabate valea
e-o unduire de pietris scanteietor,
de-aceea nu stii daca zboara sau doar inoata in unde aurii 
perechivocale1.out

ea oa
Explicație
Perechile ea şi oa apar de trei ori. Celelalte perechi de vocale din text apar de mai puţine ori.

## Cod sursă C++

```cpp
#include <iostream>
#include <fstream>
#include <cstring>
#include <cassert>
using namespace std;
ifstream fin("perechivocale1.in");
ofstream fout("perechivocale1.out");
int a[26][26];
int main(){
	char s,t;
	s=fin.get();
	while((t = fin.get())!=EOF){
		if( strchr("aeiou",s) && strchr("aeiou",t) )
			a[s-'a'][t-'a']++;
		s = t;
	}
	int Max = a[0][0];
	for(int i=0 ; i<26 ; ++i)
		for(int j=0 ; j<26 ; ++j)
			if( a[i][j] > Max)
				Max = a[i][j];
	for(int i=0 ; i<26 ; ++i)
		for(int j=0 ; j<26 ; ++j)
			if( a[i][j] == Max)
				fout << (char)(i+'a') << (char)(j+'a') << " ";
	return 0;
}
```

## Resurse

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