@Petrov132

Что не так с кодом,почему пишет ошибка?

Задание: Напишите метод, который получает в качестве параметра массив и заполняет его положительными случайными двузначными числами.

#include <iostream>
void fill_random(int* arr, int size){
   for (int i=0; i<size; ++i)
      arr[i] = rand()%90+10;
}
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
@WAR_VIK
Вот так можно решить Вашу задачу:
#include <iostream>
#include <ctime>

void fillRandom(int* arr, int size, int min, int max) {
    for(int i{0}; i < size; ++i) {
          arr[i] = min + (rand() % ((max - min) + 1));
    }
}

int main() {
      srand(time(NULL));
      int len{10}, min{10}, max{99};
      int array[len];
      fillRandom(array, len, min, max);
      for(int& i : array) std::cout << i <<' ';
      return 0;
}

Можно и по модному - через лямбду:
#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>

void fill_random(std::vector& v, int min, int max) {
       int i{0};
       auto lambda = [&](int index){ v[i] = min + (rand() % ((max - min) + 1)); ++i; };
       std::for_each(v.begin(), v.end(), lambda);
}

int main() {
       srand(time(NULL));
       int size{10}, min{10}, max{99};
       std::vector<int> vec(size);
       fill_random(vec, min, max);
       for(int& i : vec) std::cout << i << ' ';
       return 0;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@NIKROTOS
Начинающий программист.
Не разбираюсь в плюсах, но после for открывается скобка, после чего она не закрывается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы