Задача:
Написать программу, которая запрашивает размерность двумерного массива, заполняет его случайными числами от -6 до 6 и заменяет на 0 значения отрицательных элементов массива.
Другие языки программирования и технологии
Необходим код программы, C++
#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;
}
#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;
}
На мыло напиши. Рублей по 100 за задачу могу сделать все твои задачи.
Похожие вопросы
- Нужен код программы, C++
- Помогите исправить ошибку в программе (c++).
- Исправление кода на C++
- Как в C# вызвать событие из кода программы?
- помогите пожалуйста кто смыслит в C# или в C++, очень нужна ваша помощь, нужен код программы, точнее двух
- Помогите пожалуйста исправить код программы на visual c++!!
- Помогите откорректировать код в C++
- Помогите пожалуйста перевести код программы с C++ на Си.
- Описать код на C# с помощью госта 1981 года.
- Напишите код на C++