Другие языки программирования и технологии

Необходим код программы, C++

Задача:
Написать программу, которая запрашивает размерность двумерного массива, заполняет его случайными числами от -6 до 6 и заменяет на 0 значения отрицательных элементов массива.
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
typedef unsigned int index_t;
void show(int *, const size_t);
int * random(int *, const size_t, const int = 0, int = 10);
int * create(const size_t);
void replace_negative_to_zero(int *, size_t);
int main() {
    cout << " Size: ";
    size_t size;
    cin >> size;
    int * vector = NULL;
    int const left = -6;
    int rigth = 7;
    vector = random(vector, size, left, rigth);
    show(vector, size);
    replace_negative_to_zero(vector, size);
    show(vector, size);
    delete[] vector;
    cin.get(); cin.get();
    return 0;
}
void replace_negative_to_zero(int * _vector, size_t _size) { for (index_t n = 0; n < _size; n++) if (_vector[n] < 0) _vector[n] = 0; }
int * create(const size_t _size) { return new (nothrow) int [_size]; }
void show(int * _vector, const size_t _size) {
    for (index_t n = 0; n < _size; n++) cout << setw(3) << _vector[n];
    cout << endl;
}
int * random(int * _vector, const size_t _size, const int _left, int _rigth) {
    srand(unsigned(time(NULL)));
    if (!_vector) _vector = create(_size);
    if (_vector) {
        if (_left < 0 && _rigth >= 0) _rigth += abs(_left);
        else if (_left < 0 && _rigth < 0) _rigth = abs(_left) - abs(_rigth);
        else if (_left >= 0 && _rigth > 0) _rigth -= _left;
        for (index_t n = 0; n < _size; n++) _vector[n] = rand() % _rigth + _left;
    } else exit(1);
    return _vector;
}
Алексей Киселёв
Алексей Киселёв
96 867
Лучший ответ
На мыло напиши. Рублей по 100 за задачу могу сделать все твои задачи.