fork download
  1. // ConsoleApplication4.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
  2. //
  3.  
  4. #include <iostream>
  5. #include <string.h>
  6.  
  7. using namespace std;
  8.  
  9.  
  10. bool is_nmbr(char charakter) {
  11. if (charakter == '1' || charakter == '2' || charakter == '3' || charakter == '4' || charakter == '5' ||
  12. charakter == '6' || charakter == '7' || charakter == '8' || charakter == '9' || charakter == '0')
  13. { return true; }
  14. else { return false; }
  15. }
  16.  
  17. bool is_math_char(char term)
  18. {
  19. if ((is_nmbr(term)) == true || term == '(' || term == ')' || term == '^' || term == '*' ||
  20. term == '/' || term == '+' || term == '-' || term == '.')
  21. { return true; }
  22. else
  23. { return false; }
  24. }
  25.  
  26.  
  27. int main()
  28. {
  29. // parameter
  30. bool direction = true;
  31. int pos = 2; // Position des "hoch" Zeichens
  32. char *eq = "12^34";
  33.  
  34. cout << "INPUT EQ: " << eq << endl << endl;
  35.  
  36. // direction == true --> LEFT
  37. // direction == false --> RIGHT
  38.  
  39. //char *nmbr = new char[125];
  40. int j = 0, start;
  41. char *nmbr = 0;
  42.  
  43. // Set start of capturing term position
  44. switch (direction) {
  45. case 1: {
  46. start = pos - 1;
  47. char *tmp = new char[pos];
  48. nmbr = tmp;
  49. cout << "TMP ADRESS: " << &tmp << endl;
  50. } break; // true
  51. case 0: {
  52. /*start = pos + 1;
  53.  
  54.   int i = 0;
  55.   for (i; is_math_char(eq[i]) == true; i++){}
  56.  
  57.   char *tmp = new char[i - pos - 1];
  58.   nmbr = tmp;
  59.   cout << "TMP ADRESS: " << &tmp << endl;*/ // Nicht relevant
  60. } break; // false
  61. }
  62.  
  63.  
  64.  
  65. //Case 1 - Number
  66. if (is_nmbr(eq[start]) == true) {
  67.  
  68. for (int i = start; is_nmbr(eq[i]) == true && i >= 0;) {
  69. nmbr[j] = eq[i];
  70. j++;
  71.  
  72. switch (direction) {
  73. case 1: { i--; } break; // true
  74. case 0: { i++; } break; // false
  75. }
  76. }
  77. //if (direction == true)
  78. //{nmbr = order(nmbr);}
  79. cout << "NMBR LENGTH: " << strlen(nmbr)<< endl << "NMBR ADRESS: " << &nmbr << endl << "NMBR: " << nmbr << endl << endl;
  80.  
  81. }
  82.  
  83. return 0;
  84. }
Success #stdin #stdout 0s 3028KB
stdin
Standard input is empty
stdout
INPUT EQ: 12^34

TMP ADRESS: 0xbf8bcefc
NMBR LENGTH: 2
NMBR ADRESS: 0xbf8bcef8
NMBR: 21