Binär Array to Stack?
-
Bitte?
Ich bin noch Anfänger daher dacht ich das mit der binärumwandlung is so ok.
Ich möchte eine eingegebene Zahl in eine binärzahl umwandeln und die binärzahlen dann in einem Array speichern.
Sodass ich schnell auf die einzelnen binärzahlen zugreifen kann.
-
HelferGesucht schrieb:
Bitte?
Ich bin noch Anfänger daher dacht ich das mit der binärumwandlung is so ok.
Ich möchte eine eingegebene Zahl in eine binärzahl umwandeln und die binärzahlen dann in einem Array speichern.
Sodass ich schnell auf die einzelnen binärzahlen zugreifen kann.Sorry. Dann habe ich Dich falsch verstanden, Ich unterschied Zahlen und Ziffern. Eine Ziffer ist ist nur 0 oder 1, eine Zahl ist sowas wie 10001010.
Kannste ein ganzes Programm zeigen, wo nur noch ein Fitzelchen nicht klappt? Dann wäre es damit für mich voll viel einfacher, es zu lösen, bitte.
Und Sorry.
-
Kein Problem hab vielleicht nicht genau genug beschrieben
Also das ist eigtl. der relevante Ausschnitt.
Der Rest hat damit nichts zu tun, weil alles in Zweige unterteilt ist.Wenn die Taste B eingelesen wird, sollen alle Zahlen die bisher in dem Stack gespeichert sind in binär umgewandelt und ausgegeben werden.
Und das war der Ausschnitt für den case fall b.
-
scanf("%s",Einlesen); Stack[i]=atof(Einlesen); i++; case 'B': Darstellung=3; Zahl=Stack[i-1]; do { Rest=Zahl/2; Binar[x]=Zahl%2; Zahl=Rest; x++; }while(Rest!=0); break;
-
Verstehe Dein Problem noch nicht.
Der Code von Dirint main() { int Binar[17]; int Rest; int j; int Zahl=11; int x=0; do { Rest=Zahl/2; Binar[x]=Zahl%2; Zahl=Rest; x++; } while(Rest!=0); for(j=x-1; j>=0; j--) printf("%d",Binar[j]); }
funktioniert doch wunderbar.
-
Jap daran haperts auch nicht.
Ich möchte einen Stack mit Binärzahlen Haben.Sagen wir Zahl wäre ein Array
int main() { int Binar[17]; int Rest; int j; int Zahl[2]; Zahl[0]=11; Zahl[1]=20; Zahl[2]=5; for(i=0;i<=2;i++) //Jede Zahl im Array soll eine binärzahl werden { int x=0; do { Rest=Zahl[i]/2; Binar[x]=Zahl[i]%2; Zahl[i]=Rest; x++; } while(Rest!=0); } for(j=x-1; j>=0; j--) printf("%d",Binar[j]); }
Am Ende Soll der Array der vorher so aussah:
11
2
5Im binärcode sein:
110001
001001
010010Binärzahlen gelten nur als Beispiel sind nich umgerechnet keine sorgen
-
Hab auch keine rechte Ahnung, warum es jetzt geht.
int main() { int Zahl[3];//3 um von [0] bis [2] zu haben Zahl[0]=11; Zahl[1]=2; Zahl[2]=5; int i; for(i=0; i<=2; i++) { //Jede Zahl im Array soll eine binärzahl werden int x=0; int Binar[8]={}; int Rest; do { Rest=Zahl[i]/2; Binar[x]=Zahl[i]%2; Zahl[i]=Rest; x++; } while(Rest!=0); int j; for(j=x-1; j>=0; j--) printf("%d",Binar[j]); printf("\n"); } }
Hab ein wenig gefummelt. Ist es das, was Du wolltest?
-
Jaa genau mir ist auch die Erleuchtung gekommen!
Ich habs genauso nur bei mir wandelt er nur die letzte zahl in binär um?for(j=0;j<=Endwert;j++) { Zahl=Stack[j]; x=0; do { Rest=Zahl/2; Binar[x]=Zahl%2; Zahl=Rest; x++; } while(Rest!=0); for(l=x-1;l>=0;l--) printf("%d",Binar[j]); printf("\n"); }
Startwert ist 0 wenn nur eine Zahl im Stack steht.
Startwert ist i-1 wenn mehrere Zahlen im Stack stehen.Sagen wir ich geben..
10
5
3
ein. Dann wandelt er mir nur die 3 um und 10 ist 0000 und 5 ist 000
Ich versteh das nicht ich habs ja nicht anders als du
-
HelferGesucht schrieb:
Ich versteh das nicht ich habs ja nicht anders als du
Du bist nüchtern und ich komme vom Volksfest heim. Das wird der Unterschied sein.
Morgen abend nach dem Aufstehen knacke ich das Problem, falls es bis dahin noch existiert.
-
Oki ich weiß nicht wie oder warum, aber ich habe es geschafft.
Vielen Dank für deine Bemühungen, dass hat mir sehr geholfen!