Другие языки программирования и технологии

Очень срочно помогите с информатикой (С++)

Дан целочисленный массив A(N). Вывести все элементы у которых первая и последняя цифры совпадают. Для определения первой и последней цифры написать и использовать функцию.
//с проверкой на отрицатальность
int first(int n){
if(n< 0)n=-n;
while(n>10) n=n/10;
return n;
}
int last(int n){
if(n< 0)n=-n;
return n%10;
}
....
for(int i=0; i<N; i++) if(first(A[i])==last(A[i])) cout << A[i] << " ";
Женя Ефремов
Женя Ефремов
4 234
Лучший ответ
#include <iostream>
bool f(int num);
int main() {
const size_t n = 10;
int a[n] = { 25, 108, 3253, -12, 5, -474, 502, 22, -9, 42 };
for (size_t i = 0; i < n; ++i) if (f(a[i])) std::cout << ' ' << a[i];
std::cout << std::endl;
std::cin.get();
}
bool f(int num) {
int last = num % 10;
int first;
do {
first = num % 10;
num /= 10;
} while (num);
return first == last;
}
ГП
Гор Попадюк
81 131
int getBegAndEnd(int * arr, int size);
void show(int * arr, int size);

int main()
{
using namespace std;
int arr1[] = {1,2,3,4,5,6,7,8,9,10,11,12, 1};
int arr2[] = {1,2,3,4,5,6,7,8,9,10,11,12, 21};
show(arr1, sizeof(arr1)/sizeof(int));
show(arr2, sizeof(arr1)/sizeof(int));
return 1;
}

int getBegAndEnd(int * arr, int size)
{
return arr[0] == arr[size-1];
}
void show(int * arr, int size)
{
if(getBegAndEnd(arr, size))
for(int num = 0; num < size; num++)
std::cout << arr[num] << std::endl;
}
Илья Винокуров
Илья Винокуров
29 292
Минутка наркомании:
const size_t N = 10;
int a[N] = { 25, 108, 3253, -12, 5, -474, 502, 22, -9, 42 };
for (auto i : a) { if ([](int s) -> bool {int fst = s % 10, lst; do lst = s % 10; while (s /= 10); return fst == lst;}(i)) printf("%i\n", i); }
system("pause");