Не понимаю, как преобразовать массив к вещественному виду. - C (СИ)

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

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

Помогите,пожалуйста,решить задачу. Дан массив целых чисел (N=20). Преобразовать его к вещественному виду по правилу аi/(i+1) и найти наименьший элемент. Не понимаю, как преобразовать массив к вещественному виду.

Решение задачи: «Не понимаю, как преобразовать массив к вещественному виду.»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define N 10
 
void* TransformArray(void** integerArrayPtr, const int n)
{
  void* doubleArray = malloc(n * sizeof(double));
  
  for (int i = 0; i < n; i++)
  {
    ((double*)doubleArray)[i] = (*(int**)integerArrayPtr)[i] * 1.0 / (i + 1);
  }
  free(*integerArrayPtr);
  (*integerArrayPtr) = NULL;
  
  return doubleArray;
}
 
int main(void)
{
  void* array = NULL;
  
  array = malloc(N * sizeof(int));
  
  srand(time(NULL));
  
  for (int i = 0; i < N; i++)
  {
    ((int*)array)[i] = rand() % 10;
    printf("%d ", ((int*)array)[i]);
  }
  printf("\n");
  
  array = TransformArray(&array, N);
  
  for (int i = 0; i < N; i++)
  {    
    printf("%f ", ((double*)array)[i]);
  }
  printf("\n");
  
  free(array);
  
  return 0;
}

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

  1. Включаем необходимые заголовочные файлы для работы с памятью и вводом-выводом
  2. Определяем константу N, которая задает размер массива
  3. Создаем функцию TransformArray, которая принимает указатель на массив целых чисел и преобразует его в массив вещественных чисел
  4. Внутри функции TransformArray выделяем память под массив вещественных чисел
  5. Проходим по всем элементам массива целых чисел, преобразуем их в вещественные, используя формулу (*(int*)integerArrayPtr)[i] 1.0 / (i + 1) и сохраняем результат в массиве вещественных чисел
  6. Освобождаем память, выделенную под массив целых чисел
  7. В функции main создаем массив целых чисел, инициализируем его случайными значениями от 0 до 9
  8. Вызываем функцию TransformArray, передавая ей указатель на массив целых чисел и его размер
  9. Выводим на экран преобразованный массив вещественных чисел
  10. Освобождаем память, выделенную под массив вещественных чисел
  11. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

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