Do tego zadania, zbędne jest budowanie tablicy. Wystarczy wczytać 2 liczby i je porównać. Podpowiem że liczby dziesiętne o tej samej długości, mają taki sam wynik logarytmu o podstawie 10.
1. Otwierasz plik.
2. Wczytujesz w pętli po 2 liczby
3. Sprawdzasz warunek 1 (liczby takie same) i ew. zwiększasz licznik takich par.
4. Sprawdzasz warunek 2 (liczby o takiej samej długości) i ew. zwiększasz licznik par.
5. Pętlę kontynuujesz do końca pliku.
6. Prezentujesz wyniki.
#include <iostream>
#include <fstream>
#include <csttdef>
#include <cmath>
bool is_same_value(int value1, int value2) {
// Tu dodaj warunek...
return false;
}
bool is_same_length_value(int value1, int value2) {
// Tu dodaj warunek...
return false;
}
int main() {
int value1 = 0;
int value2 = 0;
std::size_t same_value = 0;
std::size_t same_length_value = 0;
std::ifstream file("pary.txt");
while (file >> value1 >> value2) {
if (is_same_value(value1, value2)) {
++same_value;
}
if (is_same_length_value(value1, value2)) {
++same_length_value;
}
}
std::cout << "Same value: " << same_value
<< "\nSame length value: " << same_length_value << '\n';
}