Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.09.2023
Сообщений: 1

Указатели в одной функции работают корректно, в другой - нет

17.09.2023, 23:12. Показов 842. Ответов 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
int* InputData(int action) {
    switch (action) {
    case 1: {
        int a, b, c;
        printf("Квадратное уравнение имеет вид: ax+bx+c=0.\nВведите коэффициент a: ");
        scanf_s("%d", &a);
        printf("Введите коэффициент b: ");
        scanf_s("%d", &b);
        printf("Введите свободный член c: ");
        scanf_s("%d", &c);
        int abc[] = { a, b, c };
        int* pData = abc;
        return pData;
    }
    case 2:
    {
        int a11, a12, b1, a21, a22, b2;
        printf("Уравнение системы двух линейных уравнений имеет вид: a1x+a2y=b.\nВвод значений для первого уравнения:\n");
        printf("Введите коэффициент а1: ");
        scanf_s("%d", &a11);
        printf("Введите коэффициент а2: ");
        scanf_s("%d", &a12);
        printf("Введите b: ");
        scanf_s("%d", &b1);
        printf("\nВвод значений для второго уравнения:\nВведите коэффициент а1: ");
        scanf_s("%d", &a21);
        printf("Введите коэффициент а2: ");
        scanf_s("%d", &a22);
        printf("Введите b: ");
        scanf_s("%d", &b2);
        int coefficients[] = { a11, a12, b1, a21, a22, b2 };
        int* pCoefficients = coefficients;
        return pCoefficients;
    }
}
 
double* RootOfQuadraticEquation(int* pABC) {
    int *data = pABC;
    printf("\n\n%dx^2+%dx+%d=0", data[0], data[1], data[2]);
    if ((pow(data[1], 2) - 4 * data[0] * data[2]) < 0) {
        double none[] = { 0, 0, 0 };
        double* pNone = none;
        return pNone;
    }
    double x1 = (-data[1] - sqrt(pow(data[1], 2) - 4 * data[0] * data[2])) / (2 * data[0]);
    double x2 = (-data[1] + sqrt(pow(data[1], 2) - 4 * data[0] * data[2])) / (2 * data[0]);
    
    double x12[] = { x1, x2, 1 };
    double* pRoots = x12;
    return pRoots;
}
 
double* SystemOfLinearEquations(int* pCoefficients) {
    int *data =pCoefficients;
    printf("\n\n%d-%d=%d\n%d+%d=%d", data[0], data[1], &data[2], data[3], data[4], data[5]);
    if (data[0] * data[4] - data[3] * data[2] == 0) {
        double none[] = { 0, 0, 0 };
        double* pNone = none;
        return pNone;
    }
    double x = (data[2] * data[4] - data[1] * data[5]) / (data[0] * data[4] - data[1] * data[3]);
    double y = (data[0] * data[5] - data[2] * data[3]) / (data[0] * data[4] - data[1] * data[3]);
    double xy[] = { x, y, 1 };
    double* pXY = xy;
    return pXY;
}
RootOfQuadraticEquation в вижуалке работает визуально корректно, т.е. там, где надо, работает именно со значениями. Но в SystemOfLinearEquations берется именно адрес. Вроде в обеих функциях идентичный принцип, но почему-то работает только первая.

На всякий добавил функцию, где пользователь вводит данные.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2023, 23:12
Ответы с готовыми решениями:

Вывод файлов и форма загрузки/удаления файлов работают на одной странице, а на другой в ячейках таблицы нет
Доброго времени суток. В общем ситуация следующая. В своем профиле пользователь загружает файлы, которые идут в пока в папку upload/ и...

Lenovo G580 (20157) не могу корректно установить драйвера, USB порты то работают, то нет
Всем привет! Установил систему Windows 7-32 bit. С оффсайта скачал необходимые драйвера. Всё установилось корректно кроме хост-контроллера....

При переносе файлов сайта с одного хостинга на другой, некоторые файлы на сайте не работают корректно
Доброго времени суток, при переносе файлов сайта с одного хостинга на другой, некоторые файлы на сайте не работают корректно. В интернете...

1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13177 / 6813 / 1821
Регистрация: 18.10.2014
Сообщений: 17,238
18.09.2023, 04:26
Цитата Сообщение от q1w2e3r4t5 Посмотреть сообщение
C
1
2
3
        int abc[] = { a, b, c };
        int* pData = abc;
        return pData;
Распространенные ошибки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.09.2023, 04:26
Помогаю со студенческими работами здесь

можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это реализовать?
можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это...

Не корректно работают функции добавления абитуриента, редактирования, удаления
Еще меня интересует как написать запрос к базе чтоб редактировать строку, например когда я написал имя фамилию и сделал ошибку в фамилии то...

В одной ОС процессор греется а в другой ОС нет
Добрый день. Ситуация такая: 1ПК. На нем 2 ОС Xp и W7. Именно На W7 При умеренных нагрузках: Средненькие игры, кодировка видео начинает...

Из за одной функции не работают остальные
Доброго дня суток. Есть форма, на этой форме есть несколько чекбоксов. &lt;script...

Две программы. В одной работает, в другой нет
Здравствуйте. Подскажите пожалуйста. Имеется две программы. в одной и в другой добавляю RichEdit и на событие KeyUp пишу увеличение шрифта....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru