Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Wandlung eines Integers in ein Array

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Herbert Maschke
Gast





BeitragVerfasst am: 05. Feb 2003 11:50   Titel: Wandlung eines Integers in ein Array

Hallo. Ich hab einen Integer, beispielsweise x = 37.
Nun moechte ich daraus ein Array machen das 32 Zeichen lang ist und in
dem dann 3 7 0 0 0 0 0 .... steht
wie realisiere ich das?
thx
 

rattengift
Gast





BeitragVerfasst am: 05. Feb 2003 23:27   Titel: Re: Wandlung eines Integers in ein Array

> Nun moechte ich daraus ein Array machen das 32 Zeichen lang ist

einen array von integers oder einen string?
falls integers: die zahl soll jeweils linksbündig sein, oder? also 370000..., 374400...?
 

Berni
Gast





BeitragVerfasst am: 06. Feb 2003 8:37   Titel: Re: Wandlung eines Integers in ein Array

Wird der volle Integerbereich verwendet, oder gibt es irgendwelche Einschränkungen? Welches Ziel wird verfolgt?
 

rattengift
Gast





BeitragVerfasst am: 06. Feb 2003 9:09   Titel: Re: Wandlung eines Integers in ein Array

sollen auch negative zahlen berücksichtigt werden?
wie du siehst reichen deine angaben nicht aus, um die frage zu beantworten.

hier trotzdem mal einen lösungsansatz für einen bestimmten fall (nämlich nichtnegative integers):
code:
int n = 37;
int a [32];
int len;

memset (a, 0, sizeof a / sizeof a[0]);

if (n > 0) // nur dann ist log definiert
{
len = 1 + (int) log10 ((double) n); // anzahl ziffern

while (len--) // für alle ziffern 0..len-1 (aber rückwärts)
{
a [len] = n % 10; // rechteste ziffer im array ablegen...
n /= 10; // ...und aus n rechts hinausschieben
}
}

 

rattengift
Gast





BeitragVerfasst am: 08. Feb 2003 21:23   Titel: Re: Wandlung eines Integers in ein Array

ich hab den code natürlich nicht getestet, bevor ich ihn gepostet habe. inzwischen hab ichs aber getestet. die sache mit dem memset ist natürlich falsch (oder: nur "teilweise" richtig). aber initialisieren mit memset ist sowieso mist, besser also ein loop. ( for (j=0; j < sizeof a / sizeof a[0]; j++) a[j]=0; )

naja, herbert scheints ja sowieso nicht mehr zu interessieren, aber ich wollte den fehler halt trotzdem nicht so stehen lassen.
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy