Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void work_dynamic_array() {
- int n = 50;
- double* x = new double[n]{};
- double* y = new double[n]{};
- double x_min = -10;
- double x_max = 10;
- double step = (x_max - x_min) / (n - 1);
- for (int k = 0; k < n; k++) {
- x[k] = x_min + k * step;
- // сигмойда
- y[k] = 1 / (1 + exp(-x[k]));
- }
- for (int k = 0; k < n; k++) {
- cout << x[k] << ": " << y[k] << endl;
- }
- cout << endl;
- delete[] x;
- delete[] y;
- }
- int* drop_negatives(int size, int* parr, int& out_size) {
- int n = 0;
- for (int k = 0; k < size; k++) {
- if (parr[k] >= 0) {
- n++;
- }
- }
- int* buff = new int[n];
- for (int k = 0, n = 0; k < 10; k++) {
- if (parr[k] >= 0) {
- buff[n] = parr[k];
- n++;
- }
- }
- out_size = n;
- return buff;
- }
- void task4_drop_negatives() {
- int* parr = new int[10]{ 1,-2,3,-4,5,-6,7,-8,9,0 };
- // {1, 3, 5, 7, 9, 0}
- int out_size;
- int* res = drop_negatives(10, parr, out_size);
- delete[] parr;
- for (int k = 0; k < out_size; k++) {
- cout << res[k] << endl;
- }
- delete[] res;
- }
- void theory_about_size() {
- int d = 13;
- cout << d << " " << sizeof(d) << " bytes" << endl;
- double x = 14.5;
- cout << x << " " << sizeof(x) << " bytes" << endl;
- int* pd = &d;
- cout << "pd" << " " << sizeof(pd) << " bytes" << endl;
- int arr[20]{};
- cout << "arr[20]" << " " << sizeof(arr) << " bytes" << endl;
- cout << "size arr[20]" << " " << sizeof(arr) / sizeof(arr[0]) << " elements" << endl;
- int* parr = new int[40]{};
- cout << "parr " << _msize(parr) << " bytes" << endl;
- cout << "parr " << _msize(parr) / sizeof(parr[0]) << " elements" << endl;
- delete[] parr;
- }
- void multy_dyn_array() {
- // выделяем память
- // malloc() это устар. new
- int** parr2d = new int*[4];
- for (int k = 0; k < 4; k++) {
- parr2d[k] = new int[4];
- }
- // заполняем значениями
- for (int k = 0; k < 4; k++)
- for (int n = 0; n < 4; n++)
- parr2d[k][n] = n*n + 2*n*k + k*k;
- // выводим на экран
- for (int k = 0; k < 4; k++) {
- for (int n = 0; n < 4; n++)
- cout << parr2d[k][n] << "\t";
- cout << endl;
- }
- // очистка памяти
- for (int k = 0; k < 4; k++)
- delete[] parr2d[k];
- // устар. free()
- delete[] parr2d;
- }
- void append(int& size, int* &parr, int val) {
- int* buff = new int[size + 1];
- for (int k = 0; k < size; k++)
- buff[k] = parr[k];
- buff[size] = val;
- delete[] parr;
- parr = buff;
- size++;
- }
- void show(int size, int* arr) {
- for (int k = 0; k < size; k++)
- cout << arr[k] << ", ";
- cout << endl;
- }
- void task7_work_add_remove() {
- int* parr = new int[0]{};
- int size = 0;
- for (int k = 0; k < 10; k++) {
- append(size, parr, k);
- show(size, parr);
- }
- }
- int main() {
- //work_dynamic_array();
- //task4_drop_negatives();
- //theory_about_size();
- //multy_dyn_array();
- task7_work_add_remove();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment