Есть массив чисел - надо к каждому числу прицепить текст - C (СИ)

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

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

Есть массив чисел - надо к каждому числу прицепить текст и обратиться к получившемуся элементу как к функции например шаг 1. mass[3]={1,2,3} шаг 2 mass[3]={fun1,fun2,fun3} шаг 3 перебирая элементы в цикле обращаться к массиву функций mass[i], получать от нее число и класть в другой массив О КАК!

Решение задачи: «Есть массив чисел - надо к каждому числу прицепить текст»

textual
Листинг программы
#include <stdio.h>
 
#define STEPS (3)
#define DATA_SIZE (5)
 
double mul9(double n) {
    return n * 9.0;
}
 
double div5(double n ) {
    return n / 5.0;
}
 
double plus32(double n) {
    return n + 32.0;
}
 
typedef double (*func_t)(double);
 
func_t functions[STEPS] = { mul9, div5, plus32 };
 
int main(void) {
    double cels[DATA_SIZE] = { 10, 20, 30, 40, 50 }, fahr[DATA_SIZE];
    int i, j;
    
    for ( i = 0; i < DATA_SIZE; ++i ) {
        double n = cels[i];
        for ( j = 0; j < STEPS; ++j )
            n = functions[j](n);
        fahr[i] = n;
    }
    
    for ( i = 0; i < DATA_SIZE; ++i )
        printf("C %f = F %f\n", cels[i], fahr[i]);
        
    return 0;
}

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

В этом коде выполняется преобразование температуры из градусов Цельсия в градусы Фаренгейта. В функции main создаются два массива: cels (градусы Цельсия) и fahr (градусы Фаренгейта). Затем в цикле происходит преобразование: каждый элемент массива cels последовательно проходит через три функции-обработчика, которые умножают значение на 9, делят на 5 и прибавляют 32 (что соответствует преобразованию в градусы Фаренгейта). Результат сохраняется в соответствующем элементе массива fahr. В конце программы выводится результат в формате C <значение в градусах Цельсия> = F <значение в градусах Фаренгейта>.

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


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

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

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