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 z = 0;
- int nChunks = 0;
- char* chunkBuffer = new char[8];
- while (true)
- {
- chunkBuffer[d] = charBufferNew[j];
- j++;
- d++;
- if (d == 8 || j == k)
- {
- chunk[nChunks] = atoi(chunkBuffer);
- cout << "Chunk [" << nChunks << "] " << chunk[nChunks] << endl;
- nChunks++;
- if (j == k) {
- z = d;
- chunkBuffer[0] = '\0';
- break;
- }
- d = 0;
- }
- }
- cout << nChunks << " Chunks\n";
- for (int i = 0; i < nChunks; i++) {
- chunk[i] /= 2;
- if (chunk[i] == 0 && i + 1 != nChunks) {
- cout.width(8);
- cout.fill('0');
- cout.precision(8);
- }
- else if (i + 1 == nChunks) {
- cout.width(z);
- cout.fill('0');
- cout.precision(z);
- //cout << "Z - " << z << endl;
- }
- cout << chunk[i];
- }
- cout << endl;
- // 10000000120000000
- //delete[] charBuffer;
- //charBuffer = new char[k];
- //for (int i = nChunks; i > 0; i--) {
- // //char* intBuffer = new char[k / 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;
- // // cout << m << '\n';
- // // m *= 10;
- // // cout << chunk[i] % m << endl;
- // // system("pause");
- // // //cout << m << endl;
- // //
- // // }
- // //}
- // //cout << intBuffer;
- // //system("pause");
- // //return 0;
- // //strcat(intBuffer, charBuffer, 10);
- // cout << chunk[i] << endl;
- //}
- ////cout << charBuffer << endl;
- system("pause");
- delete[] chunkBuffer;
- free(charBufferNew);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement