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

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


textual

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

#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;
}

СДЕЛАЙТЕ РЕПОСТ

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



Похожие ответы
  1. Получить матрицу В (nxn), в которой элемент Bij определяется как произведение наибольшего и наименьшего элемента исходной матрицы из области, определяемой индексами i и j следующим образом:

  1. 5.95 Получить квадратную матрицу порядка n по заданному образцу: 1 2 3 … n-2 n-1 n 2 1 2 … n-3 n-2 n-1 3 2 1 n-4 n-3 n-2 . . . … . . . . . … … . . n-1 n-2 n-3 … 2 1 2 n n-1 n-2 … 3 2 1 Нужно решить задачу с помощью указателей. Есть решение, не используя их:C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include #include #include #include #define n1 100 #define m1 100 void main(void) {     clrscr();     int a[n1][m1], n, i, j, temp, k, v;     randomize();     printf("Vvedite n - ");     scanf("%i", &n);     for (i = 0; i < n; i++)     {         a[i][i] = 1;         for (j = i + 1; j <= n; j++)         {             a[i][j] = (j - i) + 1;             a[j][i] = (j - i) + 1;         }     }     for (i = 0; i < n; i++)     {         for (j = 0; j < n; j++)             printf("%i  ", a[i][j]);         printf("\n");     }     getch(); }

  1. Компоненты файла f – целые двухзначные (отличные от нуля) числа, причем 10 положительных чисел, 10 отрицательных, и т.д. Получить файл g, в котором записаны сначала 5 положительных чисел, затем 5 отрицательных и т.д. Задача крайне криво сформулирована, но всё же.

  1. Получить таблицу пересчета миль в километры и обратно (1 миля = 1,609344 км) для расстояний, не превышающих k км, в следующем виде: мили км 0,6214 1,0000 1,0000 1,6093 1,2428 2,0000 1,8641 3,0000 2,0000 3,2187 Помогите пожалуйста,дело в том что в моей программе выводит немного не те значения: 0,6214 1,0000 1,0000 1,6093 1,2428 2,0001 1,8642 3,0001 2,0000 3,2187C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include #include #include   int k;   float koeff;   float i;   int main() {     koeff = 1.609344;         i = 0.6214;             printf("Enter k: ");         scanf("%i", &k);         printf("Here is your table:\n");         while (i <= k)     {         printf("%.4f", i);                 printf(" %.4f", i * koeff);                 printf("\n");                 i += 0.6214;                 if (i > floor(i) && floor(i - 0.6214) < floor(i))         {             printf("%.4f", floor(i));                     printf(" %.4f", floor(i) * koeff);                     printf("\n");         }     }         getch(); }Переделайте пожалуйста так,что бы выводило именно те значения которые нужны по условию без лишних десятых.

  1. Задние такое: Получить даты всех праздничных дней года, которые бы совпадали в заданном году с выходными (суббота или воскресенье). Помогите найти ошибку, не правильно вычисляются датыC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 #include "stdafx.h" #include #include #include #include #include #include #define KPD 11 struct struct_date {     int day;     int month;     int year; };   int what_day(const struct struct_date* date) // Формула вечного календаря {     int a = (14 - date->month) / 12;     int y = date->year - a;     int m = date->month + 12 * a - 2;     return (7000 + (date->day + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12)) % 7; } void Holliday() {     int j=0;     int M[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};     int mas_pr[2][KPD]={ {1,2,7,8,1,2,9,28,25,7,8},{1,1,1,3,5,5,5,6,8,11,11}}; // Праздничные даты( {день},{месяц})     int Uyear=0,T=0;     printf("Введите год:\n");     while((!scanf("%d", &Uyear))||(Uyear<=0))         {             printf("Повторите ввод года:\n");             fflush(stdin);         }     if((Uyear%4==0)&&(Uyear%100==0)&&(Uyear%400==0))         M[1]=29;         for(int i=mas_pr[1][0]; i<11;i++)     {         for( j=mas_pr[0][j]; j<=KPD; j++)         {             struct_date a={j, i+1, Uyear};             T=what_day(&a);             if((T==6)||(T==0)) printf("Праздник совпадает с выходным %d-го числа %d-го месяца\n", j,i+1);         }     } }     int main() {     setlocale(LC_ALL, "rus");     Holliday();     _getch();     return 0; }

  1. Написать программу для решения поставленной задачи

  1. ДД! Как-то можно получить список всех файлов в определенном каталоге?

  1. Даны два массива: А(п) из п различных чисел и В(т) из т различных чисел. Получить новый массив, который содержит те элементы из массива В, которых нет в А (найти "разность массивов" В и А).Помогите с кодом,что нужно добавить?C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 int main() {setlocale(LC_ALL, "russian"); int i,j,z,k; int a[N],b[M],c[Z]; printf("\n Введите массив А"); for(i=0;i

  1. Дана строка, содержащая латинские буквы и десятичные цифры. Получить две строки, одну из букв, другую из цифр данной строки, сохранив относительный порядок символов. Например, из строки “qwer4672ty01” получим “qwerty” и “467201”.

  1. Доброго времени суток. не как не могу домыслить как мне написать рекурсивно функцию void statistics(long num, int digits[]) которая получает параметр и массив размером 10( все переменные в массиве равны 0). в конце рекурсии, массив имеет сведенья появления чисел в параметре num. пример: num=27135177 массив после рекурсии: digits={0,2,1,1,0,1,0,3,0,0} тоесть фунция считывает появления числа в переменной и увеличивает индекс раввный тому чеслу на 1 каждый рас когда чистло появляеться в переменной. заранее спасибо.