Динамические массивы: подсчет суммы элементов после минимального по модулю элемента - C (СИ)
Формулировка задачи:
Добрый день всем!
Прошу помощи - не могу найти ошибку в коде, неправильно считает сумму элементов после минимального по модулю элемента. Спасибо откликнувшимся заранее.
Условие задания: В одномерном массиве, состоящем из n вводимых с клавиатуры элементов, вычислить Сумму модулей элементов массива, расположенных после минимального по модулю элемента;
Код С:
#include <stdio.h> #include <conio.h> #include <process.h> #include <locale.h> #include <math.h> #include <malloc.h> void mf(double*, int); void main() { setlocale(LC_CTYPE, "Russian"); double *A; int i, An; system("cls"); fflush(stdin); printf("Введите размер массива А:\n"); scanf_s("%d", &An); A = new double[An]; if (A == NULL) { printf("Предел размерности"); exit(0); } for (i = 0; i < An; i++) { printf("\n Введите значения массива А [%d]=", i); scanf_s("%lf", A + i); } mf(A, An); delete[]A; _getch(); } void mf(double *A1, int An1) { double sum = 0; int i1, min; for (i1 = 0; i1 < An1; i1++) { printf("A[%d]=%.2lf;\n", i1, *(A1 + i1)); min = fabs(double (i1)); if (fabs (*(A1 + i1)) < min); min = i1; } for (i1 = min; i1 < An1; i1++); { sum += fabs(*(A1 + i1)); printf("\n Rezult=%4d", sum); } _getch(); }
Решение задачи: «Динамические массивы: подсчет суммы элементов после минимального по модулю элемента»
textual
Листинг программы
min = fabs(double (i1)); if (fabs (*(A1 + i1)) < min); min = i1;
Объяснение кода листинга программы
- Инициализируется переменная
min
значением абсолютного значения первого элемента массиваA1
с помощью функции fabs() (упакованной функции abs() для чисел с плавающей точкой). - Проверяется, является ли текущий элемент массива
A1
меньшим по модулю, чем значение переменнойmin
. Если это так, то значение переменнойmin
обновляется значением индекса текущего элемента. - В конце выполнения цикла переменная
min
будет содержать индекс элемента массиваA1
с минимальным значением по модулю.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д