Псевдо палиндром
Нужно вывести количество псевдо палиндромов - числа не являющиеся изначально палиндромамами, но при отбрасывании старшей цифры числа ими становятся. Написал код, но он работает только для 1 числа, если начать вводить последовательность из нескольких чисел - перестает считать их количество. Помогите пожалуйста обнаружить проблему.
#include <math.h>
#include <iostream>
using namespace std;
int otrez(int k) {
int raz = 0, t, ost;
int num = 0;
t = k;
while (t != 0) {
raz++;
t /= 10;
}
for (int i = 1; i < raz; i++){
ost = k % 10;
num = num + (ost * pow(10., i - 1));
k /= 10;
}
k = num;
return k;
}
bool pol(int k) {
int pol = 0;
int d = 0;
int t = k;
while (t) {
d = t % 10;
t /= 10;
pol = pol * 10 + d;
}
return (k == pol);
}
int main() {
int n,
count = 0,
t,
num = 0,
raz = 0,
i = 0,
p = 0,
y = 0;
double k;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> k;
p = k;
while (p != 0) {
raz++;
p /= 10;
}
t = otrez(k);
y = t;
if (y == 0) num++;
else {
while (y) {
num++;
y /= 10;
}
}
if (k < 9) count = count + 0;
if (pol(k)) count = count + 0;
else {
if(pol(t) && raz == num+1) count++;
else count = count + 0;
}
}
cout << count;
return 0;
}