
Zitat von
Nookie
Aloha
Also als erstens brauchst du die Anzahl der Parameter im Array.
Mit C musst du das etwas umständlich machen:
Code:
//Grösse eines einzelnen Elementes in Byte durch die grösse des gesamten Array teilen um die Länge des Arrays zu berechnen:
int lenght = sizeof(a) / sizeof(a[0]);
Das funktioniert nur, wenn das Array im selben Codeblock initialisiert wurde. Wenn du das Array an eine Funktion übergibst, z.B. myFunc(char *array) funktioniert das ganze nicht mehr. Wenn das Array als Parameter übergeben wird ist sizeof(a) == sizeof(char*). In dem Fall müsstest du die Länge immer noch als 2. Paramter an die Funktion übergeben: void myFunc(char *array, size_t len)

Zitat von
Nookie
Danach solltest du mit die einzelnen werte durch diese Funktion jagen können um zu prüfen ob sie numerisch sind:
Code:
bool isnumeric(string st) {
int len = st.length();
for (int i = 0; i < len; i++) {
if (int(st[i])<48 || int(st[i]) > 57) {
return false;
}
}
return true;
}
Ich hoffe du kriegst dein Programm damit zum laufen

bool gehört nicht zum C Wortschatz, string auch nicht. Dafür benutzt man in C int und char*
st.length() gibt es auch nicht. strlen() ist die Funktion, die du suchst.
Typecast in C sieht ein klein wenig anders aus: "(int)st[i]<48" wobei man in dem Fall nicht casten muss, da man int und char direkt vergleichen kann
In C99 würde deine Funktion so aussehen:
Code:
int isnumeric(char *st) {
int len = strlen(st);
int i ;
for (i = 0; i < len; i++) {
if (st[i]<48 || st[i] > 57) {
return 0;
}
}
return 1;
}