Евгения Куркина
Евгения Куркина

помогите решить задачу в с++ пожалуйста (( )): с генерировать одномерный массив.

Размерность задается пользователем значения в диапазоне от [0;100]. все значения делящиеся на 3, заменить на 0. а те которые делятся на 2 выделить другим цветом.

ЛЗ
Любовь Задорожная

#include
#include
#include
#include
using namespace std;
enum colors { LIGHTGREEN = 10, WHITE = 15 };
bool random_array(int *, const size_t, const int _left = 0, int _rigth = 100);
void show_array(int *, size_t);
void colortext(const WORD);
bool multiply(const int, const int);
int main() {
wcout.imbue(locale("rus_rus.866"));
srand(unsigned(time(NULL)));
wcout << L"\n Введите размер массива: ";
size_t size;
cin >> size;
int * arr = new int [size];
if (random_array(arr, size)) {
wcout << L"Исходный массив: \n";
show_array(arr, size);
int multiple = 3, replacement = 0;
for (size_t n = 0; n < size; n++) if (multiply(arr[n], multiple)) arr[n] = replacement;
multiple = 2;
streamsize w = 4;
wcout << L"Изменённый массив: \n";
for (size_t n = 0; n < size; n++) {
if (multiply(arr[n], multiple)) colortext(LIGHTGREEN);
else colortext(WHITE);
cout << setw(w) << arr[n];
}
} else wcout << L"\nОшибка! \a\n";
delete[] arr;
cin.get(); cin.get();
return 0;
}
void colortext(const WORD _color) {
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdOut, _color);
}
bool multiply(const int _number, const int _multiple) {
if (!_number || _number % _multiple) return false;
return true;
}
inline bool random_array(int * _array, const size_t _size, const int _left, int _rigth) {
if (_left >= _rigth) return false;
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 (size_t n = 0; n < _size; n++) _array[n] = rand() % _rigth + _left;
return true;
}
void show_array(int * _array, size_t _size) {
streamsize w = 4;
for (size_t n = 0; n < _size; n++) cout << setw(w) << _array[n];
cout << endl;
}

ОМ
Олег Молчанов

Консоль или как их вообще выделить?

Похожие вопросы
Помогите решить задачу по паскаль. Одномерная матрица
Паскаль. Одномерный массив! Решите за денежку плиз!
помогите пожалуйста задача по одномерному массиву в Паскале
Помогите решить задачу в С#(одномерные, двумерные массивы).
Паскаль, одномерный массив. Помогите пожалуйста!!!!
помогите решить задачу на тему одномерный массив в fortran
Помогите решить задачу на Java Одномерные массивы:
нужна помощь помогите в делфи решить одномерный массив
задача одномерный массив
Задача на одномерный массив