Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Dillema
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 11
1

Последовательность указателей на вещественные переменные, ограниченная NULL

23.06.2016, 20:27. Просмотров 820. Ответов 2
Метки нет (Все метки)

Последовательность указателей на вещественные переменные, ограниченная NULL..
Функция возвращает динамический массив указателей на эти переменные.
Написала с помощью макросов va-list,вроде понятно как они работают,но почему то ограничение не срабатывает...что я делаю неправильно?
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
double mass(double*n...)
{
    va_list arg;
    double *c = (double*)malloc(10 * sizeof(double));
    /* инициализация argptr */
    va_start(arg, n);
    for (int i = 0; n > NULL; n++, i++)
        {
            *n = va_arg(arg, double);
            c[i] = *n;
        }
    /* завершение */
    va_end(arg);
    return *c;
}
void main()
{
    double q = 5.6, r = 6.7, t = 3.4;
    double*a = &q;
    double*s = &r;
    double*d = &t;
 
    mass(a, s, d,NULL);
}
Добавлено через 1 час 14 минут
ограничение же пишется в конце аргументов вызовов,правильно?
Думаю ошибка в main....
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2016, 20:27
Ответы с готовыми решениями:

Упорядочены ли по возрастанию три вещественные переменные?
Надо решить задачу. У меня при решении выводит те же числа что и вводил не могу...

Самая длинная последовательность в строке не используя числовые переменные
Нужно найти в строке и вывести на экран самую длинную последовательность...

Ограниченная последовательность
Помгите пожалуйста написать программу. В ограниченной последовательности...

ограниченная последовательность
может ли быть ограниченной последовательностью сумма двух неограниченных...

Дано натуральное число n, а затем последовательность натуральных чисел, ограниченная вводом нуля
Здравствуйте. Прошу вашей помощи. Есть такая задача: Дано натуральное число...

2
shvyrevvg
534 / 505 / 257
Регистрация: 12.05.2016
Сообщений: 1,469
23.06.2016, 20:50 2
Лучший ответ Сообщение было отмечено Dillema как решение

Решение

Тут есть пример использования, передают первым аргументом количество последующих аргументов :http://www.cplusplus.com/reference/cstdarg/va_start/

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
#include "stdafx.h"
#include <iostream>
#include <stdarg.h>
#define SIZE 3
double *mass(int num...)
{
    va_list arg;
    double *c = (double*)malloc(num * sizeof(double));
    /* инициализация argptr */
    va_start(arg, num);
    for (int i = 0; i<num; i++)
    {
        c[i] = *va_arg(arg, double*);
    }
    /* завершение */
    va_end(arg);
    return c;
}
 
int main()
{
    double q = 5.6, r = 6.7, t = 3.4;
    double*a = &q;
    double*s = &r;
    double*d = &t;
    //f(NULL);
    double *tmp;
    tmp = mass(SIZE, a, s, d);
    for (int i = 0; i <SIZE; i++) std::cout << tmp[i]<<std::endl;
    system("PAUSE");
    return 0;
Добавлено через 11 минут
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
#include "stdafx.h"
#include <stdarg.h>
#define SIZE 3
double **mass(int num...)
{
    va_list arg;
    double **c = (double**)malloc(num * sizeof(double));
    /* инициализация argptr */
    va_start(arg, num);
    for (int i = 0; i<num; i++)
    {
        c[i] = va_arg(arg, double*);
    }
    /* завершение */
    va_end(arg);
    return c;
}
 
int main()
{
    double q = 5.6, r = 6.7, t = 3.4;
    double*a = &q;
    double*s = &r;
    double*d = &t;
 
    double **tmp;
    tmp = mass(SIZE, a, s, d);
    for (int i = 0; i <SIZE; i++) printf("%f\n", *tmp[i]);
    system("PAUSE");
    return 0;
}

Не по теме:

Надо спать идти, ерунду какую-то пишу..

1
Dillema
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 11
23.06.2016, 21:02  [ТС] 3
Спасибо за ссылку,теперь понятно)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2016, 21:02

Вещественные переменные
Как указать вещественный тип переменной?

Заполнить случайными числами массив указателей на вещественные числа
Описать массив RARR указателей на вещественные числа,содержащий 10 элементов.В...

Не выводит вещественные переменные
Turbo Pascal 7.0 через Dosbox в win7; Проблема в том что после нескольких...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru