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

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

Код программы:
#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;
}



Конечно, вот программа на 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
.


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili