C/C++

Помогите пожалуйста с заданиями.В языке С.

ℐ?ℴ: H13: #пусто Пользователь вводит значение в массив из N и N элементов. Присвойте минимальное значение в массиве переменной с именем MIN с помощью points
. H14: #пусто Пользователь вводит значение в массив из N и N элементов. Присвойте сумму чисел в массиве переменной SUM с помощью Pointe.
H15: #пусто Пользователь вводит значение в массив из N и N элементов. Присвойте произведение чисел в массиве переменной BOX с помощью pointe.
Ваши задания на C и C++ кажутся немного нечеткими, но я попробую помочь вам с тем, что я понял. Все эти задания подразумевают, что пользователь вводит количество элементов (N), а затем вводит сами элементы. Во всех этих заданиях нужно использовать указатели. Итак, вот возможные решения:

H13: Присвойте минимальное значение в массиве переменной с именем MIN.
 #include  
#include

int main() {
int N, i, *arr, MIN;

printf("Введите количество элементов: ");
scanf("%d", &N);

arr = (int*) malloc(N * sizeof(int));

printf("Введите элементы массива: ");
for(i = 0; i < N; i++) {
scanf("%d", (arr + i));
}

MIN = *arr;
for(i = 1; i < N; i++) {
if(*(arr + i) < MIN) {
MIN = *(arr + i);
}
}

printf("Минимальное значение: %d\n", MIN);

free(arr);

return 0;
}
H14: Присвойте сумму чисел в массиве переменной SUM.
 #include  
#include

int main() {
int N, i, *arr, SUM = 0;

printf("Введите количество элементов: ");
scanf("%d", &N);

arr = (int*) malloc(N * sizeof(int));

printf("Введите элементы массива: ");
for(i = 0; i < N; i++) {
scanf("%d", (arr + i));
}

for(i = 0; i < N; i++) {
SUM += *(arr + i);
}

printf("Сумма значений: %d\n", SUM);

free(arr);

return 0;
}
H15: Присвойте произведение чисел в массиве переменной BOX.
 #include  
#include

int main() {
int N, i, *arr;
long long int BOX = 1; // Используем тип long long int для больших произведений

printf("Введите количество элементов: ");
scanf("%d", &N);

arr = (int*) malloc(N * sizeof(int));

printf("Введите элементы массива: ");
for(i = 0; i < N; i++) {
scanf("%d", (arr + i));
}

for(i = 0; i < N; i++) {
BOX *= *(arr + i);
}

printf("Произведение значений: %lld\n", BOX);

free(arr);

return 0;
}
Обратите внимание, что в этих программах не проверяется успешность выделения памяти функцией malloc. В реальной программе вы бы, вероятно, хотели проверить, что malloc не возвращает NULL перед использованием выделенной памяти.
Серёжа Шишкин
Серёжа Шишкин
2 607
Лучший ответ
H13:
int my_array[N];
int* ptr = my_array;
int min = *ptr;

for (int i = 1; i < N; i++) {
ptr++;
if (*ptr < min) {
min = *ptr;
}
}

printf("Минимальное значение: %d", min);


H14:
int my_array[N];
int* ptr = my_array;
int sum = 0;

for (int i = 0; i < N; i++) {
scanf("%d", ptr);
sum += *ptr;
ptr++;
}

printf("Сумма элементов: %d", sum);



H15:
int my_array[N];
int* ptr = my_array;
int box = 1;

for (int i = 0; i < N; i++) {
scanf("%d", ptr);
box *= *ptr;
ptr++;
}

printf("Произведение элементов: %d", box);
Egor Rigkov
Egor Rigkov
1 053