C/C++

Создат код с помощью массивов и указателей. с++

Создать динамические массивы, используя указатели. Дан массив с (n) . Переписать в массив х (n) все ненулевые элементы массива возведенные в квадрат. (со сжатием., без пустых элементов внутри) Затем упорядочить методом «выбора и перестановки» по возрастанию новый массив. Можно в простом виде код, чтобы разобраться
Так вроде:
#include <ctime>
#include <string>
#include <cstdlib>
#include <iomanip>
#include <iostream>
using namespace std;
void print_array(int *x, int size, string s)
{ cout << s << endl; int i, j = 0; for (i = 0;
i < size; i++) { cout << setw(4) << x[i]; j++;
if (j == 13) { j = 0; cout << endl; } }
if (j) cout << endl; }
int main()
{ int i, j, k, l, m = 0, n; cout << "n: "; cin >> n;
srand(time(NULL)); int *c = new int [n],
*b = new int [n]; for (k = 0; k < n; k++)
c[k] = rand() % 63 - 31;
print_array(c, n, "Array C:");
for (k = 0; k < n; k++) { l = c[k]; if (l)
{ b[m] = l * l; m++; } } int *x = new int [m];
for (k = 0; k < m; k++) x[k] = b[k]; delete [] b;
print_array(x, m, "Array X:"); for (n = 0; n < m;
n++) { l = x[n]; for (k = n + 1; k < m; k++)
{ j = x[k]; if (j < l) { l = j; i = k; } } swap(x[i], x[n]); }
print_array(x, m, "Sorted Array X:");
delete [] c; delete [] x; cin.get(); cin.get(); }
Игорь Токарев
Игорь Токарев
66 572
Лучший ответ