Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int main()
- {
- int k = 0;
- char charTemp;
- char* charBuffer;
- char* charBufferNew = NULL;
- while (true)
- {
- charTemp = getchar();
- if (charTemp == '\n') break;
- k++;
- charBuffer = (char*)realloc(charBufferNew, k);
- if (charBuffer != NULL) {
- charBufferNew = charBuffer;
- charBufferNew[k - 1] = charTemp;
- //free(charBuffer);
- }
- else {
- free(charBufferNew);
- cout << "Memory reallocation error!\n";
- }
- }
- // We're separating value on chunks
- int* chunk = new int[k / 8];
- int j = 0;
- int d = 0;
- int nChunks = 0;
- charBuffer = new char[k];
- while (true)
- {
- charBuffer[d] = charBufferNew[j];
- j++;
- d++;
- if (d == 8)
- {
- chunk[nChunks] = atoi(charBuffer);
- cout << "Chunk[i + 1] - " << chunk[nChunks] << endl;
- nChunks++;
- d = 0;
- if (j >= k) break;
- }
- }
- cout << nChunks << " Chunks\n";
- delete[] charBuffer;
- charBuffer = new char[k];
- // 10000000120000000
- for (int i = nChunks; i > 0; i--) {
- char* intBuffer = new char[9];
- chunk[i] /= 2.0;
- for (int i = 0; i < nChunks; i++) {
- int m = 10;
- for (int j = 0; j <= 8; j++) {
- intBuffer[j] = chunk[i] % m;
- m *= 10;
- //cout << m << endl;
- cout << intBuffer[i] << '\n';
- }
- // 5231
- }
- cout << intBuffer;
- system("pause");
- return 0;
- //strcat(intBuffer, charBuffer, 10);
- }
- cout << charBuffer << endl;
- system("pause");
- delete[] charBuffer;
- free(charBufferNew);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement