Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

C int array[n] zu x int ???

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 ...

Antwort
Alt 24.04.04, 10:40   #1 (permalink)
 
Registriert seit: 14.01.04
NeoN Leistung: Facit NTK
Likes: 0
Standard C int array[n] zu x int ???

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

NeoN ist offline   Mit Zitat antworten
Alt 24.04.04, 13:56   #2 (permalink)
 
Registriert seit: 16.04.04
Zirias Leistung: Facit NTK
Zirias eine Nachricht über ICQ schicken Zirias eine Nachricht über AIM schicken Zirias eine Nachricht über Yahoo! schicken
Likes: 0
Standard

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
Zirias ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 24.04.04, 14:11   #3 (permalink)
 
Registriert seit: 24.01.04
SuperSkater Leistung: Facit NTK
Likes: 0
Standard

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.....
SuperSkater ist offline   Mit Zitat antworten
Alt 24.04.04, 14:15   #4 (permalink)
Themenstarter
 
Registriert seit: 14.01.04
NeoN Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von SuperSkater
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.....
lol ja du hast Recht, aber das hat ja nichts mit meinem Problem zu tun.

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.
NeoN ist offline   Mit Zitat antworten
Alt 24.04.04, 15:44   #5 (permalink)
 
Registriert seit: 14.10.03
Raptor Leistung: Facit NTK
Raptor eine Nachricht über ICQ schicken
Likes: 0
Standard

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;
MfG

Raptor
Raptor ist offline   Mit Zitat antworten
Alt 24.04.04, 18:27   #6 (permalink)
 
Registriert seit: 02.10.01
Nornagest Leistung: Facit NTK
Likes: 0
Standard

Neon, wenn du Fragen stellst solltest du dir die Antworten auch durchlesen, das erste Posting hat deine Frage bereits beantwortet.

Nornagest
Nornagest ist offline   Mit Zitat antworten
Alt 24.04.04, 21:35   #7 (permalink)
Themenstarter
 
Registriert seit: 14.01.04
NeoN Leistung: Facit NTK
Likes: 0
Standard

@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.
NeoN ist offline   Mit Zitat antworten
Alt 24.04.04, 22:19   #8 (permalink)
 
Registriert seit: 16.04.04
Zirias Leistung: Facit NTK
Zirias eine Nachricht über ICQ schicken Zirias eine Nachricht über AIM schicken Zirias eine Nachricht über Yahoo! schicken
Likes: 0
Standard

Zitat:
Original von NeoN
Nein das hat er nicht. Er hat gefragt ob ich mich anders ausdrücken kann und gemutmaßt was ich meinen könnte.
Und damit habe ich nach der weiteren Entwicklung des Thread zu urteilen offenbar richtig gelegen. Tja, lesen und verstehen
Wenn dir natürlich Strings ausreichen brauchst du den Algorithmus nicht.
Zirias ist offline   Mit Zitat antworten
Alt 24.04.04, 23:47   #9 (permalink)
Gulliver
Guest
 
Likes:
Standard

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
  Mit Zitat antworten
Alt 25.04.04, 18:41   #10 (permalink)
Themenstarter
 
Registriert seit: 14.01.04
NeoN Leistung: Facit NTK
Likes: 0
Standard

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;
}
allerdings bekomme ich einen komischen Output

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;
}
wenn ich diesen code compiliere dann bekomme ich einen "passing arg 1 of 'atoi' makes pointer from integer without cast" fehler

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
NeoN ist offline   Mit Zitat antworten
Alt 25.04.04, 20:22   #11 (permalink)
Gulliver
Guest
 
Likes:
Standard

mach statt char[1], char[2]
und dann nach dr zuweisung null terminieren char[2]='\0';
oder einfach nur char *a = NULL;
a = atoi(tmp[n];
  Mit Zitat antworten
Alt 25.04.04, 20:38   #12 (permalink)
Themenstarter
 
Registriert seit: 14.01.04
NeoN Leistung: Facit NTK
Likes: 0
Standard

sehr gut, danke jetzt gehts!!!

Danke Gulliver
NeoN ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » C int array[n] zu x int ???
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ä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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61