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

Даты ввод вывод разность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать вектор из диагональных элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread26213.html
"Для заданной матрицы(N на M) сформировать вектор из её диагональных элементов. Добавить элементы вектора к элементам K-ой строки." Размер матрицы вводится пользователем с клавиатуры, то есть m и...
C++ Задача на двоичные файлы! В первом двоичном файле находится информация о группе владельцев автомобилей:фамилия, имя, пол, год рождения, годовой доход, марка авто. Во втором двоичном файле информация об автомобилях: марка... http://www.cyberforum.ru/cpp-beginners/thread26210.html
Задача на проверку есть ли граф гамильтоновым C++
Построить алгоритм, с помощью которого, для любого конечного неориентированного графа с n вершинами (1<=n<=20), который задается матрицей смежности, определяеться есть ли граф гамильтоновым....
Найти наибольшую сумму чисел ряда, не превышающую заданное число k. C++
Помогите написать программу в С++. Найти найбольшую сумму чисел ряда 1,1/2,1/3...1/n не превышающую заданное число k.
C++ Чем редактировать blob поля? http://www.cyberforum.ru/cpp-beginners/thread26178.html
Кто подскажет ,во всех редакторах баз ето поле принимает memo,которое не редактируется ,а как занести туда текст я нигде не нашел.
C++ Матрицы и операции над ними Подскажите, как сформировать вектор из диагональных элементов матрицы. подробнее

Показать сообщение отдельно
neoMitya
25 / 25 / 1
Регистрация: 27.10.2009
Сообщений: 81
19.03.2010, 10:59
вот взял на себя смелость доработать код G-Cat'а. Два варианта, побольше и поменьше, кому что будет интереснее.
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
        TDateTime *dt1=new TDateTime(), *dt2=new TDateTime();
        *dt1=DateTimePicker1->Date;   //Узнаем дату
        *dt2=DateTimePicker2->Date;   //Узнаем дату
 
        Word day, month, year, day1, month1, year1, day2, month2, year2;//dannye nachala/konca otscheta
        int god[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        int god1[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
 
        DecodeDate(*dt1, year, month, day);
        DecodeDate(*dt2, year1, month1, day1);
 
        int summa = 0;//obschaya summa dney
 
     if ((year1 - year) < 0)
     {
       year2 = year1;
       year1 = year;
       year = year2;
       month2 = month1;
       month1 = month;
       month = month2;
       day2 = day1;
       day1 = day;
       day = day2;
     }
     if ((year1 == year)&&((month1 - month) < 0))
     {
       month2 = month1;
       month1 = month;
       month = month2;
       day2 = day1;
       day1 = day;
       day = day2;
     }
 
     if (year1 - year >= 1)
     {
        //podschet dney v nachal'nom gode
        for (int i = month; i <=11; i++)
                summa = summa + god[i];
 
        if ((IsLeapYear(year) == true)&&(month <= 2)) //proverka na vysokosnost' nachal'nogo goda
                summa++;
        if ((IsLeapYear(year) == true)&&(month == 2)&&(day == 29)) //proverka na vysokosnost' nachal'nogo goda
                summa--;
 
        summa = summa - day;
 
        //podschet dney m konechnom gode
        for (int i = 0; i < month1; i++)
                        summa = summa + god[i];
 
        if ((IsLeapYear(year1) == true)&&(month1 > 2)) //proverka na vysokosnost' konechnogo goda
                summa++;
 
        summa = summa + day1;
     }
 
     if (year1 - year == 0)
     {
        if ((IsLeapYear(year) == true)) //proverka na vysokosnost' goda
        {
           //podschet dney v vysokosnom gode
           for (int i = day; i < god1[month - 1]; i++)
                summa++;
           for (int i = 1; i <= day1; i++)
                summa++;
           if((month1 - month) > 1)
              for (int i = month; i < month1 - 1; i++)
                   summa = summa + god1[i];
        }
        else if ((IsLeapYear(year) != true)) //proverka na vysokosnost' goda
        {
           //podschet dney v gode
           for (int i = day; i < god[month - 1]; i++)
                summa++;
           for (int i = 1; i <= day1; i++)
                summa++;
           if((month1 - month) > 1)
              for (int i = month; i < month1 - 1; i++)
                   summa = summa + god[i];
        }
        if (month == month1) //proverka na vysokosnost' goda
        {
           summa = 0;
           //podschet dney v gode
           for (int i = day; i < day1; i++)
                summa++;
        }
     }
 
//vycheslenie kolichestva dney mejdu nachal'nym i konechnym godom
     if (year1 - year > 1)
     {
        int raznica = year; //raznica mejdu nachal'nym i konechnym godom
 
        for(int i = 1; i < year1 - year; i++)
        {
            raznica = raznica + 1;
 
            for(int j = 0; j <= 11; j++)
                summa = summa + god[j];
 
            if (IsLeapYear(raznica) == true) //proverka na vysokosnost'
                summa++;
        }
     }
     Label1->Caption = summa;
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
        TDateTime *dt1=new TDateTime(), *dt2=new TDateTime();
        *dt1=DateTimePicker1->Date;   //Узнаем дату
        *dt2=DateTimePicker2->Date;   //Узнаем дату
 
        Word day, month, year, day1, month1, year1, day2, month2, year2;//dannye nachala/konca otscheta
 
        DecodeDate(*dt1, year, month, day);
        DecodeDate(*dt2, year1, month1, day1);
 
     if ((year1 - year) < 0)
     {
       year2 = year1;
       year1 = year;
       year = year2;
       month2 = month1;
       month1 = month;
       month = month2;
       day2 = day1;
       day1 = day;
       day = day2;
     }
     if ((year1 == year)&&((month1 - month) < 0))
     {
       month2 = month1;
       month1 = month;
       month = month2;
       day2 = day1;
       day1 = day;
       day = day2;
     }
        *dt1 = EncodeDate(year, month, day);
        *dt2 = EncodeDate(year1, month1, day1);
 
        Label1->Caption=(DaysBetween(*dt1, *dt2));
так работает точно правильно
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru