| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: C int array[n] zu x int ??? im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi hab eine Frage, wie kann ich aus einem Array einzelne Zahlen auslesen? also nicht einfach nur aus dem ...
![]() |
| | #1 (permalink) |
| Registriert seit: 14.01.04 ![]() Likes: 0 | Anzeige Hi hab eine Frage, wie kann ich aus einem Array einzelne Zahlen auslesen? also nicht einfach nur aus dem array den kompletten Wert lesen, sondern aus dem Wert die einzelnen Zahlen. Bespiel: ?nt array[3] = { 123, 456, 789 }; aber ich möchte aus array[1], drei int's machen. also array[1] = int a = 1, int b = 2, int c = 3 und aus array[2] = int d = 4, int e = 5, int f = 6 array[3] = int g = 7, int h = 8, int i = 9 geht das überhaupt? und wenn ja, wie? Danke im voraus. pz NeoN |
| | |
| | #2 (permalink) |
| Kannst du das etwas weniger wirr ausdrücken? Wenn ich dich richtig verstehe, willst du die einzelnen Zehnerstellen einer Zahl haben? Das hat dann aber überhaupt nichts mit arrays zu tun. Standardalgorithmus um die einzelnen Stellen einer Zahl zur Basis b zu bekommen: Solange Ganzzahldivision durch b, bis das Ergebnis 0 ist, jeweils der Rest ist eine Stelle der Zahl zur Basis b. Man erhält die Stellen von der niederwertigsten an. Greets, Ziri | |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 24.01.04 ![]() Likes: 0 | Ach ja, man macht das nicht so array[1] = bla array[2] = bla array[3] = bla sondern so: array[0] = bla array[1] = bla array[2] = bla frag nicht wieso, machs einfach..... |
| | |
| | #4 (permalink) | |
| Themenstarter Registriert seit: 14.01.04 ![]() Likes: 0 | Zitat:
Beispiel: array[2] = { 123, 456, 789 }; array[0] hat den Wert 123; also um den Wert 123 in einer variablen zu speichern könnte ich array[0] = a; machen z.B. allerdings möchte ich das eben nicht aber das problem ist, das ich nicht 123 haben will, sondern ich möchte aus dem array[0] die einzelenen Zahlen des Wertes bekommen. Also 1 in einer extra variablen speichern, 2 in einer extra variablen speichern und 3 in einer extra variablen speichern ... ich hoffe das macht es etwas verständlicher. | |
| | |
| | #5 (permalink) |
| Du muesstest statt einem int-array ein char-array nehmen. SOmit kannst du auf jeden einzelnen Charakter zugreifen. Code: char arr1[3][4]={"123","456","789"};
char a,b,c;
a=arr1[0][0]; //a=1
b=arr1[0][1]; //b=2
c=arr1[0][2]; //c=3
cout << a << b << c << endl; Raptor | |
| | |
| | #6 (permalink) |
| Registriert seit: 02.10.01 ![]() Likes: 0 | Neon, wenn du Fragen stellst solltest du dir die Antworten auch durchlesen, das erste Posting hat deine Frage bereits beantwortet. Nornagest |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 14.01.04 ![]() Likes: 0 | @Nornagest Nein das hat er nicht. Er hat gefragt ob ich mich anders ausdrücken kann und gemutmaßt was ich meinen könnte. Du solltest vielleicht besser die Posts intepretieren. Außerdem wo liegt denn das Problem? Naja, wie auch immer gut das du gepostest hast. ![]() @Raptor Danke für deine Antwort, wusste nicht, dass man mehrdimensionale Strings nutzen kann. Oder verstehe ich da was falsch? Werde das morgen ausprobieren. |
| | |
| | #8 (permalink) | |
| Zitat:
![]() Wenn dir natürlich Strings ausreichen brauchst du den Algorithmus nicht. | ||
| | |
| | #9 (permalink) |
| Guest Likes: | es ist einfacher die zahl 123 in ein array[3] (1,2,3) zu packen und die einzelnen vektoren auszulesen. ist weniger aufwaendig als mit basis zu n zu arbeiten und (malloc/strlen) einfacher/universeller zu machen. snprintf und/oder sprintf und danach atoi sind deine freunde dabei. ggf speicher mit malloc/realloc holen um dynamik zu gewaehrleisten. mfg nachtrag int bla[3]; ... bla[0] = 123; char tmp[3]; (void)sprintf(tmp,"%i",(int)bla[0]); dann haste was sin tmp und kanns es zerhacken. ggf. auch snprintf() (rtfm) mfg |
|
| | #10 (permalink) |
| Themenstarter Registriert seit: 14.01.04 ![]() Likes: 0 | Leider hat Raptors Beispiel nicht funktioniert. mehrdimensionale Strings scheinen unter C nicht zu gehen, weiß nicht ob das nur in C++ möglich ist, aber in C nicht. bekomme immer "conflicting types for 'string'" fehler, oder was für einen Fehler mache ich? Danke Gulliver deine Methode geht Code: #include <stdio.h>
int main()
{
int bla[3];
char a[1];
char tmp[3];
bla[0] = 123;
sprintf(tmp,"%i",bla[0]);
a[0] = tmp[1];
printf("%s", a);
return 0;
} Output: 2{ wieso bekomme ich da eine '{' dazu? und wie bekomme ich nur die Zahl zwei? wenn ich es ohne den zwischenschritt "a[0] = tmp[1];" mache und eben bei printf tmp angebe, dann kommt ja auch nur "123" raus. Naja danach habe ich es mit atoi probiert. was aber auch probleme macht. ![]() Code: #include <stdio.h>
#include <stdlib.h>
int main()
{
int bla[3];
int a;
char tmp[3];
bla[0] = 123;
sprintf(tmp,"%i",bla[0]);
a = atoi(tmp[2]);
printf("%d", a);
return 0;
} Also muss ich "tmp[2]" zu "tmp" umändern, also "a = atoi(tmp);" nutzen, aber dann war das ganze wieder umsonst, da ich dann ja wieder "123" als Wert für die variable "a" habe und nicht den gewünschten Wert "3". grrr ?( ![]() hoffe mir kann noch jemand weiterhelfen |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| C++ Array Zuweisung | nookstar | Code Kitchen | 9 | 30.01.08 11:55 |
| [C++]Mehrdimensionales Array | nookstar | Code Kitchen | 14 | 14.01.08 21:03 |
| php curl array string zu array parsen | b4ck | (Web-) Design und webbasierte Sprachen | 5 | 12.12.07 17:11 |
| [PHP] von Textarea in Array | Henni | Code Kitchen | 2 | 04.04.07 18:12 |
| PHP -> Assoziatives array??? | simb | (Web-) Design und webbasierte Sprachen | 2 | 17.03.02 22:49 |