Динамические массивы: подсчет суммы элементов после минимального по модулю элемента - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день всем! Прошу помощи - не могу найти ошибку в коде, неправильно считает сумму элементов после минимального по модулю элемента. Спасибо откликнувшимся заранее. Условие задания: В одномерном массиве, состоящем из n вводимых с клавиатуры элементов, вычислить Сумму модулей элементов массива, расположенных после минимального по модулю элемента; Код С:
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <process.h>
  4. #include <locale.h>
  5. #include <math.h>
  6. #include <malloc.h>
  7. void mf(double*, int);
  8. void main() {
  9. setlocale(LC_CTYPE, "Russian");
  10. double *A;
  11. int i, An;
  12. system("cls");
  13. fflush(stdin);
  14. printf("Введите размер массива А:\n");
  15. scanf_s("%d", &An);
  16. A = new double[An];
  17. if (A == NULL) {
  18. printf("Предел размерности");
  19. exit(0);
  20. }
  21. for (i = 0; i < An; i++)
  22. {
  23. printf("\n Введите значения массива А [%d]=", i);
  24. scanf_s("%lf", A + i);
  25. }
  26. mf(A, An);
  27. delete[]A;
  28. _getch();
  29. }
  30. void mf(double *A1, int An1) {
  31. double sum = 0;
  32. int i1, min;
  33. for (i1 = 0; i1 < An1; i1++)
  34. {
  35. printf("A[%d]=%.2lf;\n", i1, *(A1 + i1));
  36. min = fabs(double (i1));
  37. if (fabs (*(A1 + i1)) < min);
  38. min = i1;
  39. }
  40. for (i1 = min; i1 < An1; i1++);
  41. {
  42. sum += fabs(*(A1 + i1));
  43. printf("\n Rezult=%4d", sum);
  44. }
  45. _getch();
  46. }

Решение задачи: «Динамические массивы: подсчет суммы элементов после минимального по модулю элемента»

textual
Листинг программы
  1. min = fabs(double (i1));
  2. if (fabs (*(A1 + i1)) < min);
  3. min = i1;

Объяснение кода листинга программы

  1. Инициализируется переменная min значением абсолютного значения первого элемента массива A1 с помощью функции fabs() (упакованной функции abs() для чисел с плавающей точкой).
  2. Проверяется, является ли текущий элемент массива A1 меньшим по модулю, чем значение переменной min. Если это так, то значение переменной min обновляется значением индекса текущего элемента.
  3. В конце выполнения цикла переменная min будет содержать индекс элемента массива A1 с минимальным значением по модулю.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы