Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int k = 0;
  9. char charTemp;
  10. char* charBuffer;
  11. char* charBufferNew = NULL;
  12.  
  13. while (true)
  14. {
  15. charTemp = getchar();
  16. if (charTemp == '\n') break;
  17.  
  18. k++;
  19. charBuffer = (char*)realloc(charBufferNew, k);
  20. if (charBuffer != NULL) {
  21. charBufferNew = charBuffer;
  22. charBufferNew[k - 1] = charTemp;
  23. //free(charBuffer);
  24. }
  25. else {
  26. free(charBufferNew);
  27. cout << "Memory reallocation error!\n";
  28. }
  29. }
  30.  
  31. // We're separating value on chunks
  32. int* chunk = new int[k / 8];
  33. int j = 0;
  34. int d = 0;
  35. int z = 0;
  36. int nChunks = 0;
  37. char* chunkBuffer = new char[8];
  38. while (true)
  39. {
  40. chunkBuffer[d] = charBufferNew[j];
  41. j++;
  42. d++;
  43. if (d == 8 || j == k)
  44. {
  45. chunk[nChunks] = atoi(chunkBuffer);
  46. cout << "Chunk [" << nChunks << "] " << chunk[nChunks] << endl;
  47. nChunks++;
  48. if (j == k) {
  49. z = d;
  50. chunkBuffer[0] = '\0';
  51. break;
  52. }
  53. d = 0;
  54. }
  55. }
  56. cout << nChunks << " Chunks\n";
  57.  
  58. for (int i = 0; i < nChunks; i++) {
  59. chunk[i] /= 2;
  60. if (chunk[i] == 0 && i + 1 != nChunks) {
  61. cout.width(8);
  62. cout.fill('0');
  63. cout.precision(8);
  64. }
  65. else if (i + 1 == nChunks) {
  66. cout.width(z);
  67. cout.fill('0');
  68. cout.precision(z);
  69. //cout << "Z - " << z << endl;
  70. }
  71. cout << chunk[i];
  72. }
  73. cout << endl;
  74. // 10000000120000000
  75.  
  76. //delete[] charBuffer;
  77. //charBuffer = new char[k];
  78.  
  79. //for (int i = nChunks; i > 0; i--) {
  80. // //char* intBuffer = new char[k / 9];
  81. // chunk[i] /= 2.0;
  82. // //for (int i = 0; i < nChunks; i++) {ч
  83. // // int m = 10;
  84. // // for (int j = 0; j <= 8; j++) {
  85. // // //intBuffer[j] = chunk[i] % m;
  86. // // cout << m << '\n';
  87. // // m *= 10;
  88. // // cout << chunk[i] % m << endl;
  89. // // system("pause");
  90. // // //cout << m << endl;
  91. // //
  92. // // }
  93. // //}
  94. // //cout << intBuffer;
  95. // //system("pause");
  96. // //return 0;
  97. // //strcat(intBuffer, charBuffer, 10);
  98. // cout << chunk[i] << endl;
  99. //}
  100. ////cout << charBuffer << endl;
  101.  
  102. system("pause");
  103. delete[] chunkBuffer;
  104. free(charBufferNew);
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement