Получить последовательность по правилу - C (СИ) (79167)

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

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

Даны натуральное число n, действительные числа x(1),.....x(n). Получить (1+r)/(1+s), где r - сумма всех тех членов последовательности x(1),.....x(n), которые не превосходят 1, а s - сумма членов, больших 1.

Решение задачи: «Получить последовательность по правилу»

textual
Листинг программы
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{    
     srand((unsigned)time(NULL));
     int n,r=0,s=0;
     int *arr;
     float rez;
     printf("Enter n: ");
     scanf("%d",&n);
     arr = (int*)malloc(n*sizeof(int));
     printf("\nNumbers: ");
     for(int i=0; i<n; i++)
      {
           arr[i]=rand()%9-2;
           printf("%d  ",arr[i]);
           (arr[i]>1) ? s+=arr[i] : r+=arr[i];
      }
     rez=(float)(1+r)/(1+s);
     printf("Result: %.4f",rez);
     free(arr);
   getch();
   return 0;
}

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

Предполагается, что задача программы - вычислить среднее арифметическое элементов массива целых чисел, причем элементы массива должны быть случайными целыми числами от -2 до 7 (включительно). Список действий, которые выполняются в коде:

  1. Инициализация генератора случайных чисел с помощью функции srand() и входных данных пользователя с помощью функции scanf().
  2. Выделение памяти под массив целых чисел с помощью функции malloc().
  3. Инициализация переменных r и s, которые используются для хранения суммы положительных и отрицательных чисел соответственно.
  4. Заполнение массива случайными целыми числами с помощью цикла for и функции rand().
  5. Вывод значений массива с помощью функции printf().
  6. Обновление переменных r и s в зависимости от знака числа в массиве.
  7. Вычисление результата - среднего арифметического - с помощью формулы (1+r)/(1+s) и приведения к типу float с помощью функции (float).
  8. Вывод результата на экран с помощью функции printf().
  9. Освобождение памяти, выделенной под массив, с помощью функции free().
  10. Ожидание нажатия клавиши с помощью функции getch().
  11. Возврат 0, что означает успешное завершение программы.

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


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

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

9   голосов , оценка 3.889 из 5
Похожие ответы