#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int d, m, y, i;
int max[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
setlocale(0, "");
cout << "Введите день(число)";
cin >> d;
cout << "Введите месяц(число)";
cin >> m;
cout << "Введите год(число)";
cin >> y;
if ( (y % 4 == 0 && y % 100 != 0) || y % 400 == 0) //Проверка что год високосный
max[1]++;
if( d == max[m-1])
{
d = 1;
m++;
}
else
d++;
if (m == 13)
{
m = 1;
y++;
}
cout << d << " " << m << " " << y;
cin >> d;//Ожидание ввода, чтобы посмотреть результаты пработы программы
return 0;
}
Эта программа определяет следующий день от текущего.
А вот программа, которая определяет предыдущий день.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int d, m, y, i;
int max[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
setlocale(0, "");
cout << "Введите день(число)";
cin >> d;
cout << "Введите месяц(число)";
cin >> m;
cout << "Введите год(число)";
cin >> y;
if ( (y % 4 == 0 && y % 100 != 0) || y % 400 == 0) //Проверка что год високосный
max[1]++;
if( d == 1)
{
if (m == 1)
{
m = 12;
y--;
}
else
m--;
d = max[m - 1];
}
else
d--;
cout << d << " " << m << " " << y;
cin >> d;//Ожидание ввода, чтобы посмотреть результаты пработы программы
return 0;
}
5,13,9,3,-1,-2
Объяснение:
На фото изображена программа на python которая решает эту задачу.
Алгоритм:
1) Создать массив
2) Создать цикл повторяющий действия 5 раз
3)В цикле: A[i] = (содержимое A[i]) +
(содержимое А[i+1])
То есть в начале i=1, и А[1]= А[1] + А[1+1]
(А[1] меняется на: (-1+6(5))
И так далее
Если надо могу написать дальше
Очень надеюсь что