Witam, zaczynam uczenie się programowania i mam do napisania program. Ma on porównywać dwie pięcioelementowe tablice typu int. Elementy nie muszą byc w tej samej kolejności i mogą się powtarzać. Nie sprawiałoby mi to problemu (planowałem użyć fukcji sortowania obu tablic i porównania elementów pętlą), ale wymagane jest sprawdzenie poprawności wprowadzanych danych. Jeżeli użytkownik wprowadzi błędne znaki, to program ma czekać na podanie liczby. Z tym właśnie mam problem. Próbowałem z isdigit(), ale to działa dla char i dla pojedynczych cyfr, a nie dla liczb typu 123, chyba że ja coś knocę. Wklejam co wymodziłem:
#include <iostream>
using namespace std;
int main()
{
const int size = 5;
int ar1[size], ar2[size];
char element;
for (int i=0; i<size; i++)
{
cin >> element;
if (isdigit(element))
{
ar1[i] = element;
}
else i--;
}
cout << "Tablica AR1: "; //roboczo wyświetlam, ostatecznie będzie porównywane z drugą tablicą wprowadzaną w ten sam sposób
for (int i=0; i < size; i++)
cout << ar1[i] << " ";
return 0;
}