Получить квадратный корень и напечатать результат для тех из чисел, значения которых неотрицательны - C (СИ)

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

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

Даны три действительных числа. Получить квадратный корень и напечатать результат для тех из них, значения которых неотрицательны, остальные возвести в квадрат.

Решение задачи: «Получить квадратный корень и напечатать результат для тех из чисел, значения которых неотрицательны»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
double* func(double* array, unsigned i) {
    while (i--) {
        array[i] = (array[i] > 0) ? sqrt(array[i]) : pow(array[i], 2.0);
    }
    return array;
}
 
void print(const double* array, unsigned i) {
    while (i--) {
        printf("%.2lf ", *array++);
    }
    printf("\n");
}
 
int main() {
    double array[] = {-2.0, 3.0, 5.0};
 
    print(func(array, 3), 3);
 
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с числами с плавающей точкой и математическими функциями.
  2. Создание функции func, которая принимает указатель на массив и индекс элемента в массиве. В цикле изменяет значение выбранного элемента массива в соответствии с условием (array[i] > 0) — если значение неотрицательно, то получает квадратный корень с помощью функции sqrt, иначе получает квадрат значения с помощью функции pow.
  3. Создание функции print, которая принимает указатель на массив и индекс элемента в массиве. В цикле выводит значения выбранных элементов массива через пробел.
  4. Создание основного массива array для тестирования функций.
  5. Вызов функции print с указателем на результат работы функции func и индексом размера массива.
  6. Возвращение значения 0, сигнализирующего о успешном завершении работы программы.

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

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