Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. int neg;
  2. int tmpi;
  3. int count;
  4. int tmpcount;
  5. char cache;
  6.  
  7. //Zahl = 0
  8. if(number == 0)
  9. {
  10. gewicht[0]='0';
  11. gewicht[1]= 0 ; //0 am Ende des Strings, da puts einen 0 terminierenden String erwartet
  12. return;
  13. }
  14.  
  15. //Zahl negativ
  16. neg = 0;
  17. count = 0;
  18. if(number < 0)
  19. {
  20. neg = 1;
  21. number = number * -1;
  22. count++; //Anzahl der Ziffern erhoeht sich durch '-' um 1
  23. }
  24.  
  25. //Anzahl Ziffern der Zahl
  26. tmpi = number;
  27. while(tmpi > 0)
  28. {
  29. tmpi = tmpi / 10;
  30. count++;
  31. }
  32.  
  33. tmpcount = count + 1; //Laenge um 1 erhoehen fuer 0 am ende des Strings
  34. char chr[tmpcount];
  35. chr[count] = 0; //0 an letzte Stelle des Arrays schreiben
  36. if(neg == 1)
  37. {
  38. chr[0] = '-'; //Wenn Zahl negativ ist, '-' an position 0
  39. }
  40.  
  41. //Ziffern extrahieren und in chararray schreiben
  42. int j;
  43. j = count - 1; //j = count - 1 da arrays bei 0 anfangen zu zaehlen
  44. for(j; j-neg >= 0; j--) //Wenn Zahl negativ ist bricht schleife bei chr[1] ab um das vorhandene '-' bei chr[0] nicht zu überschreiben
  45. {
  46. cache = i%10; //Die hinterste Ziffer extrahieren
  47. i = i/10; //Durch teilen durch 10 faellt die letzt Ziffer, die bereits im cache zwischengespeichert ist, weg
  48. chr[j] = cache + '0'; //und an die letzte Stelle des Arrays schreiben
  49. }
  50.  
  51. //entstandenen String in lokale Variable des aufrufenden Programms uebertragen
  52. j=0;
  53. for(j; j < 11; j++)
  54. {
  55. gewicht[j] = chr[j];
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement