Forum: PC-Programmierung Teile eines Arrays mit Zahl vergleichen


von Dennis M (Gast)


Lesenswert?

Hallo,
bräuchte kurz hilfe. Habe ein array welches ich mit einer Zahl 
vergleichen möchte.
Also,

char array[20];   //0-13 enthält Werte
char zahl=333;

jetzt möchte ich gerne die arraywerte array[10]-array[13] mit der Zahl 
vergleichen. Weiss nur net genau wie.
Dachte ans
1
char array[20];   //0-13 enthätl werte
2
char vergleich, zahl=3433;
3
4
vergleich = atoi(&array[10]);
5
if(vergleich==zahl)
6
...

so etwas in die Richtung.

Gruß

von Klaus W. (mfgkw)


Lesenswert?

1
char array[20];   //0-13 enthätl werte
2
char zahl=33;     // 3433 passt nicht in ein char
3
4
if(array[10]==zahl)
5
...

von Dennis M (Gast)


Lesenswert?

also, vllt. habe ich net richtig ausgedrückt,

die arrayfelder [10]-[13] stellen eine Zahl dar. Z.B. 2447 (d.h. jedes 
Feld enthält eine Zahl), und ich müsste diese dann mit einer 
virgegebenen Zahl vergleichen.

von Karl H. (kbuchegg)


Lesenswert?

Dennis M schrieb:

> char array[20];   //0-13 enthält Werte

Welche Werte?

> vergleich = atoi(&array[10]);

Deine Verwendung von atoi lässt in mir den Verdacht aufkommen, dass es 
sich bei den "in dem Array gespeicherten Werten" in Wirklichkeit um 
einen String handelt. Kann das sein?

von Klaus W. (mfgkw)


Lesenswert?

Dennis M schrieb:
> also, vllt. habe ich net richtig ausgedrückt,

Das ist sehr wahrscheinlich.

Ich gehe davon aus, daß sich das auch noch nicht gebessert hat.

von Klaus W. (mfgkw)


Lesenswert?

Dennis M schrieb:
> die arrayfelder [10]-[13] stellen eine Zahl dar. Z.B. 2447 (d.h. jedes
> Feld enthält eine Zahl)

meinst du vielleicht "Ziffer" statt "Zahl"?
Was steht im Rest? Wo kommt es her? Wozu das Ganze? Was soll der 
Vergleich ergeben?

Mit irgendeinem Geschwurbel als Frage kann man wirklich nichts anfangen.

von Klaus W. (mfgkw)


Lesenswert?

Hier zu fragen, macht vor allem Sinn, wenn man gewisse Grundkenntnisse 
der Programmierung hat, sich nennenswert selbst um eine Lösung bemüht 
und seine Fragen halbwegs verständlich formulieren kann.

Alles andere ist sinnlos und für alle Beteiligten Zeitverschwendung.

von Dennis M (Gast)


Lesenswert?

Also,
1
array[10]=2;
2
array[11]=4;
3
array[12]=3;
4
array[13]=8;
5
6
7
if(2438>300 && 2438<1000)      //2438 is der Inhalt von array[10]-array[13]
8
...

jetzt muss ich die 2438 mit meiner "zahl" vergleichen, ob die gleich 
groß sind, ob die eine Zahl größer oder kleiner ist.

von Karl H. (kbuchegg)


Lesenswert?

Was ergibt:

   2 * 1000  +
   4 *  100  +
   3 *   10  +
   8 *    1


genau: 2438

In deinem Array hast du 4 Ziffern. Mit obigem kannst du erst mal aus den 
4 Ziffern eine 4-stellige Zahl bauen und die dann nach Herzenslust 
verwurschten.

von Klaus W. (mfgkw)


Lesenswert?

Antowrt auf deine implizite Frage: ja, ein gutes C-Buch zu lesen
ist förderlich, wenn man in C programmieren will.
Falls es hier um C geht.

von Antwort (Gast)


Lesenswert?

Möglichkeit
1
int Zahl=0;
2
char array[20]; //enthält Ziffern an Stelle 10-13
3
int i=0;
4
int Wert = 2247;
5
6
for(i=10;i<14;i++){
7
  Zahl = ((int)array[i]-48);
8
  Zahl = Zahl*10;
9
}
10
11
if(Zahl == Wert){
12
  //tue etwas
13
}

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Klaus Wachtler schrieb:
> Alles andere ist sinnlos und für alle Beteiligten Zeitverschwendung.
Nein die Erfahrung zeigt, das es sich besonders lohn nebulöse 
unverständliche Fragen mit nichtssagendem Titel zu stellen und möglichst 
gar keine Ahnung vom Thema zu habe...

von Klaus W. (mfgkw)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.