Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Вывести столбец матрицы, в котором больше отрицательных элементов Задача: Дана целочисленная квадратная матрица размерности m*n.Найти наименьшее из значений элементов столбца, который обладет наибольшей суммой модулей элементов. Если таких столцов несколько, взять тот из них, в котором больше отрицательных элементов. Здраствуйте! Я написал код, который находит наименьшее значение в столбце, который имеет макс сумму, но я не знаю как написать, чтобы при... https://www.cyberforum.ru/ c-beginners/ thread1853550.html Вычисление простых чисел до 1000 C (СИ)
#include <stdio.h> #include <stdbool.h> bool isPrime(int i) { bool prime = true; int count = 2; while (i!= count) { if (i % count == 0) {
C (СИ) Найти максимум/минимум во введенной последовательности (цикл while) Здравствуйте.Пожалуйста, помогите написать программу с помощью цикла while: С клавиатуры вводится последовательность из n чисел. Найти максимальное и минимальное из них. https://www.cyberforum.ru/ c-beginners/ thread1853418.html C (СИ) Переписать положительные элементы матрицы в одномерный массив Дана матрица размерности 2 на 3. Положительные элементы матрицы переписать подряд в одномерный массив. https://www.cyberforum.ru/ c-beginners/ thread1853378.html
C (СИ) Наибольшая общая подпоследовательность
Здравствуйте, помогите, пожалуйста, с задачей. Даны две последовательности. Найти длину их наибольшей общей подпоследовательности (подпоследовательность — это то, что можно получить из данной последовательности вычеркиванием некоторых элементов). Пример: входные данные: 3 1 2 3 4 2 1 3 5 на...
C (СИ) На товары, продающиеся в магазине, временно установлены скидки в зависимости от категории, к которой относитс https://www.cyberforum.ru/ c-beginners/ thread1853324.html
C (СИ) Не правильно вычисляются цифры числа, если их больше 9 https://www.cyberforum.ru/ c-beginners/ thread1853311.html
#include<stdio.h> #include<conio.h> #include<math.h> #include<stdlib.h> main() { int a,b,d,g,r; char p; setlocale(0, ""); scanf("%s",p);
Найти точки пересечения прямой и параболы C (СИ)
Здравствуйте. Дана парабола: 6х^2+y+2=0. И прямая: 2x-5y-2=0. Надо найти их точку пересечения. Чисто в математике надо их приравнять и, найдя дискриминант, найти две точки. int main() { int x, x1, x2, y; float D; y = 30*(x*x) - 2*x + 8; D = 2*2 - 4*30*8; if(D>0) { x1 = (2+D)/60;
C (СИ) Дано n чисел. Для каждого из них определяется, простое ли оно. Если простое, выводится 1, иначе 0. Здравствуйте! Помогите, пожалуйста. Нужно уменьшить время выполнения программы, как это можно сделать? заранее спасибо! Дано n чисел. Для каждого из них определяется, простое ли оно. Если простое, выводится 1, иначе 0. #include<stdio.h> int main() { int n, x, j, i, f; https://www.cyberforum.ru/ c-beginners/ thread1853144.html C (СИ) Можно ли написать по проще? Задание: С клавиатуры ввести длинное целое число.утвориты массив из цифр этого числа. Определить среди цифр одинаковые. Если нет, то сформировать и вывести на экран новое число с инверсным (обратным) порядком цифр. #include <stdio.h> int main(){ long a; int mas; int klkst; printf("Vvedit chyslo: "); https://www.cyberforum.ru/ c-beginners/ thread1852976.html
C (СИ) Задача с оператором switch-case: записать цену прописью
Составьте программу для решения поставленной задачи, используя оператор switch-case. Введенную вещественным числом цену товара записать в виде "xx рублей xx копеек". Обратить внимание на возможные варианты "рублей,рубля", а "копейка,копеек". Пытался делать как мог, теперь прошу помощи у вас:)
C (СИ) Напишите код программы по блок-схеме на языке СИ https://www.cyberforum.ru/ c-beginners/ thread1852807.html
Напишите код программы по блок-схеме на языке СИ.(Блок схема прилагается)
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
20.11.2016, 14:20 0

Массив указателей на функции - C (СИ) - Ответ 9791900

20.11.2016, 14:20. Показов 1898. Ответов 18
Метки (Все метки)

Ответ

Цитата Сообщение от Nanana Посмотреть сообщение
берется любое произвольное число a и b
такие, что бы знаки на концах отрезка были разные
Я имею ввиду в программе, не вижу что бы a или b были инициализированы(где a = чему-либо и b = чему-либо).

Добавлено через 1 минуту
Аа, что было в памяти, то и используете..

Добавлено через 1 минуту
Не уверен, что математически все верно, может открою книжку посмотрю позднее. Но компилится без ошибок.
C
1
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
typedef double(*func_t)(double);
 
int i;
double derivative(double, double, func_t)  ;
double second_derivative(double, double, func_t f) ;
double newton(double, double, func_t);
double func1(double), func2(double), func3(double), func4(double), func5(double), func6(double), func7(double), func8(double);
int main(void)
{
    int maxIteration, i, funcNum;
    double x0,xn;// вычисляемые приближения для корня
    double a, b, c, h, eps, func;// границы отрезка и необходимая точность
    //Объявление массива ссылок на функции
    double (*mas[8])(double) = {func1, func2, func3, func4, func5, func6, func7, func8};
    printf( " Vvedite h " ); 
    scanf( "%lf", &h ); // вводим шаг
    printf( "  Vvedite eps " );
    scanf( "%lf", &eps ); // вводим нужную точность вычислений
    printf( "  Vvedite maximum number of iteration: " );
    scanf( "%lf", &maxIteration );// вводим кол-во итераций
    for(funcNum = 0; funcNum < 8; funcNum++) { 
        printf("funcNum: %d\n", funcNum);
        if (mas[funcNum](a)*second_derivative(x0, h, mas[funcNum]) > 0) 
            x0 = a; // для выбора начальной точки проверяем f(x0)*p2f(x0)>0 ?
        else 
            x0 = b;
        c = (a + b) / 2; 
        if (mas[funcNum](c)*mas[funcNum](a) < 0)
            b=c;
        if (mas[funcNum](c)*mas[funcNum](b) < 0)
            a = c;
            xn = newton(x0, h, mas[funcNum]);
        while (fabs(x0-xn) > eps) {
            x0 = xn;
            xn = newton(x0, h, mas[funcNum]);
        } 
        while( xn < 0 ) {// пока не достигнем необходимой точности, будет продолжать вычислять
            x0+=h;
            xn = newton(x0, h, mas[funcNum]);
            while (fabs(x0-xn) > eps) {
                x0 = xn;
                xn = newton(x0, h, mas[funcNum]);
            }
            printf("xn = %.9f\n",xn); 
            printf("f(x0) = %.9f\n",mas[funcNum](x0)); 
            printf("Number of iteration = %d\n\n",i);
        } 
        printf( "  Exit?=> " );
        scanf( "%lf", &exit );
    }
    getchar();
}
 
//Функции-уравнения, решаемые в задаче
double func1(double x) { return exp(-x) + pow(x, 2) + 2; }
double func2(double x) { return -pow((x-2), 2); }
double func3(double x) { return exp(x)-2*x-2; }
double func4(double x) { return sin(x) + x - 1; }
double func5(double x) { return exp(-pow(x,2));}
double func6(double x) { return 2*exp(-3*x) - x +1; }
double func7(double x) { return log(x) - x + 1; }
double func8(double x) { return log(x) - pow((x-1), 2); }
 
//Первая производная функции
double derivative(double x, double h, func_t f)
{
    return (f(x + h) - f(x - h)/(2*h));
}
//Вторая производная функции
 
double second_derivative(double x, double h, func_t f)
{
    return (derivative(x, h, f) - derivative(x, h, f)/(2*h));
}
double newton(double x, double h, func_t f)
{
    return (x - f(x)/derivative(x, h, f));
}


Вернуться к обсуждению:
Массив указателей на функции C (СИ)
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2016, 14:20
Готовые ответы и решения:

Объявить массив из N указателей на функции, возвращающих указатели на функции, возвращающие указатель на char
Задание: Объявить массив из N указателей на функции, возвращающих указатели на функции,...

Массив указателей на функции
Мне необходимо создать массив, состоящий из 10 элементов, который хранил бы указатели на функции....

Определить массив указателей на функции
Прощу помощи:) Написать программу, в которой необходимо определить массив указателей на функции....

Создать массив из указателей которые указывают на функции
Как можно создать массив из указателей которые указывают на функции?

18
20.11.2016, 14:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2016, 14:20
Помогаю со студенческими работами здесь

Создать массив указателей на функции к функциям, которые имеют разное число и типы параметров?
Можно ли создать массив указателей на функции к функциям, которые имеют разное число и типы...

Запись указателей в массив указателей
Ребята, подскажите, пожалуйста, что не так сделано? Задача: без использования библиотек распарсить...

Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей
Задача: создать специфицированный шаблон функции, принимающей массив указателей на char и...

Различные функции, для которых можно создать массив указателей на функции
Придумайте не менее 3-х различных функций, для которых можно создать массив указателей на функции.

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru