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

Функции с переменным числом параметров: объяснить код

23.11.2013, 19:20. Показов 602. Ответов 3
Метки нет (Все метки)

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
#include <iostream>
#include <math.h>
 
using namespace std;
 
int sum(int k, ...)
{
  int s = 0, *p = &k+1 ;//настроили указатель на параметр k
  for (int t=0;t<k-1;t++)
  {
      if(!(t%2))
        s+=(*p)*(*(p+1));
    else s+=(*(p)*(*(p+1)));
      p++;
      }
  return s;
}
 
int main()
{
    cout << sum(5,2,1,4,3,5)<< endl;//2*1-1*4+4*3-3*5=2-4+12-15=-5
    cout << sum(10,1,1,1,4,2,6,3,1,2,2) << endl;
    cout << sum(12,0,1,6,0,1,5,8,2,5,4,2,0) << endl;
 
    return 0;
}
можете объяснить как работает это условие

C
1
2
3
4
if(!(t%2))
        s+=(*p)*(*(p+1));
    else s+=(*(p)*(*(p+1)));
      p++;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2013, 19:20
Ответы с готовыми решениями:

Функции с переменным числом параметров
Ребят, всем привет. У меня к вам небольшой вопрос. Я ищу теоретический материал на вот такую тему:...

Ошибка в функции с переменным числом параметров
В функции Тask у меня не работает второй цикл, не могу понять как исправить. Задание звучит так: В...

Функции с переменным числом параметров (через указатель)
Народ, помогите разобраться. Пытаюсь реализовать функцию с переменным числом параметров через...

Void указатель в функции с переменным числом параметров
Добрый вечер. Суть задачи: посчитать значение выражения (x1+x3+x5+...) / (x2+x4+x6). Количество...

__________________
3
21 / 21 / 17
Регистрация: 05.03.2013
Сообщений: 64
23.11.2013, 22:31 2
Во-первых, надо
C
1
else s-=(*(p)*(*(p+1)));
а во-вторых, указанный кусок кода производит вычисление по формуле
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{t=0}^{k-1} (-1)^t ({a}_{t}\cdot {a}_{t+1})
0
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 6
24.11.2013, 13:55  [ТС] 3
Цитата Сообщение от marta2013 Посмотреть сообщение
Во-первых, надо
C
1
else s-=(*(p)*(*(p+1)));
а во-вторых, указанный кусок кода производит вычисление по формуле
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{t=0}^{k-1} (-1)^t ({a}_{t}\cdot {a}_{t+1})
можете первый пример вычислить по этой вашей формуле
0
21 / 21 / 17
Регистрация: 05.03.2013
Сообщений: 64
24.11.2013, 20:30 4
k=5, a[5]={2,1,4,3,5}, тогда

https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{t=0}^{k-2}(-1)^t (a_t \cdot a_{t-1})=(-1)^0\cdot (a_0 \cdot a_1)+ (-1)^1\cdot (a_1 \cdot a_2)+ (-1)^2\cdot (a_2 \cdot a_3) +(-1)^3\cdot (a_3 \cdot a_4)= 2*1-1*4+4*3-3*5=2-4+12-15=-5

P.S. Sorry, там надо k-2.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2013, 20:30

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Функция с переменным числом параметров
Написать функцию с переменным кол-вом параметров (использовать бестиповой указатель). Найти сумму...

Функция с переменным числом параметров
Кто может помочь с задачей? Нужно на C написать В главной функции main ( ) ввести число n , что...

Задание с функцией с переменным числом параметров
Написать функцию с переменным числом параметров, которая для заданных чисел типа int находит сумму...

Функция с переменным числом параметров ошибка
Есть функция с переменным числом параметров, которая вставляет 0 в след параметр если не вписать то...


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

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

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