Есть ответ 👍

C++ как сделать, чтобы находило еще предыдущий день? ? #include "stdafx.h" #include 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(lc_all, "russian"); cout < < "введите день(число)"; cin > > d; cout < < "введите месяц(число)"; cin > > m; cout < < "введите год(число)"; cin > > y; if (y % 4 == 0 & & y % 100 ! = 0 || y % 400 == 0) max[1]++; for (i = 0; i < 12; i++) if (i + 1 == m & d == max[i]) { d = 1; m++; break; } if (i == 12) d++; if (m == 13) { m = 1; y++; } cout < < d < < " " < < m < < " " < < y; return 0; }

109
136
Посмотреть ответы 2

Ответы на вопрос:


Начнем с того, что исправим текущий код. у вас используется цикл, но он совершенно здесь не нужен. вот программа без цикла. 

#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;

}

B8888
4,4(51 оценок)

Program n1; const n=10; var a: array [1..n] of integer; p,i: integer; begin randomize; p: =1; for i: =1 to n do a[i]: =random(61)-10; for i: =1 to n do p: =p*a[i]; writeln('произведение: ',p); end.

Популярно: Информатика