Генерация массива случайных чисел (C++)

Прикладное программирование Программирование на С++ Генерация массива случайных чисел (C++)

  • В этой теме 0 ответов, 1 участник, последнее обновление 1 месяц, 1 неделя назад сделано Васильев Владимир Сергеевич.
Просмотр 0 веток ответов
  • Автор
    Сообщения
    • #6895
      @admin
      StudLance.ru

      Составьте программу генерации и вывода на экран трех целочисленных массивов со следующими характеристиками:

      Характеристика

      Массив 1

      Массив 2

      Массив 3

      Имя

      a

      b

      c

      Количество элементов

      10

      15

      13

      Диапазон значений

      [-10; 10]

      [100; 900]

      [0;200]

      В этой задаче нам нужно выполнить однотипные действия трижды — создать и заполнить массив числами в диапазоне, вывести массив на экран. Поэтому целесообразно использовать функции. Также, имеет смысл выделить отдельную функцию для генерации числа в диапазоне, так как такая функция может оказаться полезной в других проектах.

      Для генерации числа возьмем готовую функцию rand_between по ссылке.

      Теперь напишем функции генерации и вывода массива, вызовем их из главной функции. В функцию вывода дополнительным параметром будем передавать имя массива, так как массивы в задании имеют имена. Исходный код программы целиком:

      #include <iostream>
      #include <stdlib.h>
      #include <time.h>
      using namespace std;
      
      int rand_between(const int from, const int to) {
       // взять по ссылке
      }
      
      int *get_random_array(int n, int from, int to) {
        int* arr = new int[n];
        for (int i = 0; i < n; ++i) {
          arr[i] = rand_between(from, to);
        }
        return arr;
      }
      
      void print_array(const string& name, int* arr, int n) {
        cout << "array - " << name << ":" << endl;
        for (int i = 0; i < n; ++i) {
          cout << arr[i] << " ";
        }
        cout << endl;
      }
      
      int main() {
        srand(time(NULL));
        int *a = get_random_array(10, -10, 10);
        int *b = get_random_array(15, 100, 900);
        int *c = get_random_array(13, 0, 200);
        print_array("a", a, 10);
        print_array("b", b, 15);
        print_array("c", c, 13);
        delete[] a;
        delete[] b;
        delete[] c;
      }

      На рисунке приведены возможные результаты работы программы:

      StudLance.ru

Просмотр 0 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.
×