Форум программистов, компьютерный форум, киберфорум
Наши страницы

Функции с переменным числом параметров - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рекурсивная функция копирования http://www.cyberforum.ru/cpp-beginners/thread879300.html
Дайте пожалуйста пример такой фнкции
C++ Генератор Кроссвордов выдает ошибку "Vector subscript out of range" Написал программу для курсовой, смысл в том что программа создает кроссворд из заданных слов в заданной сетке, однако при запуске выдают вот такую ошибку. Не подскажете а чем проблема? #include... http://www.cyberforum.ru/cpp-beginners/thread879297.html
Выручайте ) (комментарии к коду) C++
распишите каму не лень желательно каждое значение из кода типа че означает include зарание спасибо #include <cstdlib> #include <iostream> #include <windows.h> #include <time.h> using...
C++ записать результат в виде улитки закрученной к центру
Помогите результат этой матрицы записать в виде улитки закрученной к центру #include "stdafx.h" #include <iostream> #include <iomanip> #include <stdlib.h> #include <time.h> void...
C++ Сгенерировать все k -элементные подмножества из N http://www.cyberforum.ru/cpp-beginners/thread879290.html
Дело все в том, что мне надо написать программу, которой на вход давался файл с N целых чисел через пробел, пользователь дает на ввод число k надо сгенерировать все k -элементные подмножества из N...
C++ Табулирование функции Выручайте плз! Протабулируйте функции g(x,n) и q(x,n) по переменной х на интервале с шагом e. Использовать компоненты TEdit (для вводу a, b, e,n), TLabel, TMemo (для виводу результатов табулирования), TButton... подробнее

Показать сообщение отдельно
Alucaro
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 3

Функции с переменным числом параметров - C++

26.05.2013, 16:06. Просмотров 680. Ответов 0
Метки (Все метки)

Написать функцию days с переменным числом параметров, которая нахо-дит количество дней, прошедших между двумя датами (параметрами функции являются даты в формате «дд.мм.гг». Написать вызывающую функцию main, которая обращается к функции days не менее трех раз с количеством параметров 3, 5, 8
Есть такой пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
int sum (int k, . . .)
{
int *p = &k; //настроили указатель на параметр k
int s=0;
for ( ; k!=0;k--)
s+=*(++p);
return s;
}
void main( )
{
cout<<”\nСумма(2,4,6)=<<sum(2,4,6); //находит сумму 4+6
cout<<”\nСумма(4,1,2,3,4)=<<sum(4,1,2,3,4); //находит сумму 1+2+3+4
}
Я написал следующую программу, но у меня возникла проблема, как переходить через указатель по строковым переменным. В примере по интовским переходит легко, но как быть со строковой? Я пытался сначала реализовать при помощи string, но понял, что это плохая затея. В итоге с горем по полам сделал через чар. Но я не могу перепрыгивать по этим переменным. Помогите, люди добрые!

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
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
string a,b;
int day(char *aa,char *bb)
{
    a=aa;
    b=bb;
    int n,n1,n2;
    string ad,am,ay;
    string bd,bm,by;
    ad.insert(0,a,0,2); bd.insert(0,b,0,2);
    am.insert(0,a,3,2); bm.insert(0,b,3,2);
    ay.insert(0,a,6,2); by.insert(0,b,6,2);
    int a1 = atoi(ad.c_str()); int b1 = atoi(bd.c_str());
    int a2 = atoi(am.c_str()); int b2 = atoi(bm.c_str());
    int a3 = atoi(ay.c_str()); int b3 = atoi(by.c_str());
    if (a3==b3)
        n=0;
    else 
        if (a3>b3)
            n=365*(a3-b3);
        else
            n=365*(b3-a3);
    if (a2==b2){
        n1=0; n2=abs(a1-b1);}
    else
        if (a2>b2){
            n1=a2-b2; n2=(n1*31)-(a1+b1);}
        else
        {n1=b2-a2; n2=(n1*31)-(a1+b1);}
    return n+n2;
}
void days(int k,char *aa,...)
{
    char *p=&(*aa);
    for(;k!=0;k--)
    cout<<day(p,++p)<<endl;
}
int main(){
    char *s1="21.12.12";
    char *s2="12.12.12";
    char *s3="03.04.12";
    char *s4="05.05.12";
    char *s5="06.09.11";
    char *s6="03.04.10";
    char *s7="01.01.13";
    cout<<"\nDays: "<<endl;
    days(3,s1,s2,s3);
    cout<<"\nDays: "<<endl;
    days(7,s1,s2,s3,s4,s5,s6,s7);
    cout<<endl;
system("pause");
return 0;
}
Функция Days служит просто как функция с переменным числом параметров, которая должна выводить кол-во дней между датами.(1 и 2, 2 и 3, ...). Функция Day непосредственно рассчитывает кол-во дней(сделал через стринг, потому что как копировать через чаровский не разобрался. Копирование идет, просто помогите как реализовать переход по переменным в функции Days).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.