Вопрос задан 27.06.2023 в 23:49. Предмет Информатика. Спрашивает Бялт Екатерина.

Помогите пожалуйста очень срочно Написать программу на языке С++ для создания динамического

массива A[N] , заполнить массив с помощью генератора случайных чисел (получение случайного числа в интервале [a,b] оформить как функцию (а=-30,b =30)). Полученный массив перезаписать, добавив к нему (в начало) минимальное значение среди всех элементов массива. Вычисление минимального значения среди всех элементов массива оформить как функцию.​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Егоров Денис.

Код программы:

#include <iostream>

#include <locale>

#include <time.h>

using namespace std;

void rand_mas(int *mas, int n) {

srand(time(NULL));

int a = -30, b = 30;

for (int i = 0; i < n; i++)

 mas[i] = a + rand() % (b - a);

}

int min_mas(int *mas, int n) {

int min = mas[0];

for (int i = 1; i < n; i++) {

 if (min > mas[i])

  min = mas[i];

}

return min;

}

int main()

{

setlocale(LC_ALL, "Russian");

int *A, N, min, *temp;

cout << "Введите количество элементов в массиве" << endl;

cin >> N;

A = new int[N];

rand_mas(A, N);

cout << "Исходный массив: " << endl;

for (int i = 0; i < N; i++)

 cout << A[i] << ' ';

min = min_mas(A, N);

temp = A;

A = new int[N + 1];

A[0] = min;

for (int i = 1, j = 0; i < N; i++) {

 if (temp[j] == min) {

  ++j;

  A[i] = temp[j];

  ++j;

  continue;

 }

 A[i] = temp[j];

 ++j;

}

cout << "\nИзмененный массив: " << endl;

for (int i = 0; i < N; i++)

 cout << A[i] << ' ';

return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот программа на C++, которая выполняет указанные вами задачи:

cpp
#include <iostream> #include <ctime> #include <cstdlib> // Функция для генерации случайных чисел в интервале [a, b] int randomInRange(int a, int b) { return a + rand() % (b - a + 1); } // Функция для поиска минимального значения в массиве int findMin(int* arr, int N) { int minVal = arr[0]; for (int i = 1; i < N; i++) { if (arr[i] < minVal) { minVal = arr[i]; } } return minVal; } int main() { // Задаем параметры массива int N; std::cout << "Введите размер массива N: "; std::cin >> N; // Выделяем динамический массив A[N] int* A = new int[N]; // Заполняем массив случайными числами в интервале [-30, 30] for (int i = 0; i < N; i++) { A[i] = randomInRange(-30, 30); } // Находим минимальное значение в массиве int minVal = findMin(A, N); // Увеличиваем размер массива на 1 и сдвигаем все элементы на одну позицию вправо for (int i = N; i > 0; i--) { A[i] = A[i - 1]; } // Добавляем минимальное значение в начало массива A[0] = minVal; // Выводим результат std::cout << "Исходный массив с добавленным минимальным значением:" << std::endl; for (int i = 0; i < N + 1; i++) { std::cout << A[i] << " "; } std::cout << std::endl; // Освобождаем память, выделенную под массив delete[] A; return 0; }

Эта программа сначала запрашивает у пользователя размер массива N, затем создает динамический массив A[N], заполняет его случайными числами в интервале [-30, 30], находит минимальное значение в массиве, добавляет его в начало массива и выводит результат. Не забудьте освободить память после использования массива с помощью delete[] A.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос