Получить квадратный корень и напечатать результат для тех из чисел, значения которых неотрицательны - 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;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами с плавающей точкой и математическими функциями.
- Создание функции
func, которая принимает указатель на массив и индекс элемента в массиве. В цикле изменяет значение выбранного элемента массива в соответствии с условием(array[i] > 0)— если значение неотрицательно, то получает квадратный корень с помощью функцииsqrt, иначе получает квадрат значения с помощью функцииpow. - Создание функции
print, которая принимает указатель на массив и индекс элемента в массиве. В цикле выводит значения выбранных элементов массива через пробел. - Создание основного массива
arrayдля тестирования функций. - Вызов функции
printс указателем на результат работы функцииfuncи индексом размера массива. - Возвращение значения 0, сигнализирующего о успешном завершении работы программы.