Задать вопрос
@Sterben

Что не так с программкой?

Не так давно начал изучать С++. Встала следующая проблема. Итак, программка, умеет читать из стандартного потока два целых числа A и B (0 < A ≤ B, и A и B помещаются в int) и считает какое количество целых чисел на полуинтервале [A ; B) делятся на 4 и при этом не делятся на 100, или делятся на 400. Вывести получившееся число в стандартный поток вывода. Для проверки делимости воспользоваться оператором нахождения остатка от деления (%).
#include <iostream>
using namespace std;

int main()
{
    int a,b,c;
    cout<<"Enter a and b:\n";
         cin>>a,b;
    с = a - b;
	int i = 0;
	for(int i = 0; i<c; c++)
		while(c\4 & c%100 || c\400)
        cout<<c
    return 0;
}

Прошу помочь привести код в порядок и, если кого-то не затруднит, привести решение, благодарю :)
  • Вопрос задан
  • 2418 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
alexclear
@alexclear
A cat
Здесь много что не так, во-первых,

for(int c = 0; i<c; c++)
		while(c\4 & c%100 || c\400)
        cout<<c


& - это битовое AND, что этот оператор делает в логическом выражении?
Во-вторых, оператора \ в C++ нет.
В-третьих, в таком форматировании кода вообще неясно, что хотел сказать автор, всегда, по возможности, используйте операторные скобки { и }, не заставляйте людей гадать.
Ответ написан
Комментировать
@lookid
1) code convention
2) если не можешь без {}, то ставь {}
3) & это не &&
4) цикл в цикле не смущает?
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
for(i = a + 4 - a % 4, c = 0;i<b;i+=4){
    if (i % 100 == 0 && i % 400 != 0) continue;
    c++;
}
Ответ написан
Комментировать
kulinich
@kulinich
С++ программист
Такое ощущение, что вы не только начали изучать С++, а нашли какой-то пример программы(или правильнее программки?), которая не компилируется (а преподу же надо рабочую программу(программку?)). Вот вы и просите готовое решение. Если вы даже точки с запятой не везде расставили - о чем может идти речь?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы