• Предмет: Информатика
  • Автор: zs615443
  • Вопрос задан 5 месяцев назад

Заменить в массиве из n случайных чисел, каждое из которых лежит в пределах от 50 до 200, все четные элементы нулями и вывести исходный и конечный массивы на экран. с++

Ответы

Ответ дал: Fchchchv
2

Ответ:

Объяснение:

#include <iostream>

#include <vector>

#include <time.h>

using namespace std;

int main() {

int i,jmax;

vector<int> originalArray;//начальный вектор

vector<int> evenArray;

srand(time(0));

//генерируем целый случайный вектор из 10 эелментов от 40 до 210

for (i = 0; i < 10; i++){

jmax = 40 + rand() % 210;

originalArray.push_back(jmax);

}

for (i = 0; i < 10; i++){

cout<<originalArray[i]<<" "; // вывод результата на экране

}

cout<<endl;

for (i = 0; i < 10; i++){

evenArray.push_back(originalArray[i]);//записали в другой вектор для удобства

}

for (int i = 0; i < 10; i++) {//проверяем на наличие четных чисел и если они от 50 до 200 то меняем их

if (evenArray[i]>50 && evenArray[i]<200){

if (evenArray[i] % 2 == 0) {

evenArray[i] = 0;

}

}

}

for (i = 0; i < 10; i++) {//выводим результат

cout << evenArray[i] << " ";

}

return 0;

}

Ответ дал: Greenow
2

#include <random>

#include <iostream>

#include <vector>

int getRandInt(int min = 50, int max = 200) {

std::random_device dev;

std::mt19937 rng(dev());

std::uniform_int_distribution<std::mt19937::result_type> dist6(min, max);

return dist6(rng);

}

void printV(std::vector<int> vec) {

for (int i : vec) {

std::cout << i << " ";

}

std::cout << "\n";

}

int main() {

std::vector<int> m {};

for (int i = 0; i < getRandInt(0, 10); i++) {

m.push_back(getRandInt());

}

printV(m);

for (int i = 0; i < m.size(); i++) {

if (m[i] % 2 == 0) {

m[i] = 0;

}

}

printV(m);

return 0;

}


Greenow: а троечка то за что?)
Fchchchv: а что мне писать
Fchchchv: не я ставил :(
Greenow: печалька, ну ладно
Fchchchv: го в друзья?
Fchchchv: как у тебя много балов
Greenow: ++
Вас заинтересует