Почему не работает программа? после выполнения операции "do...while" программа прекращает свою работу..
#include <cmath>
#include <stdio.h>
#include <iostream>
using namespace std;
int main () {
int a, b, gcd;
do {
cout<<"enter number a and b (so that a anb b is not 0):"<<endl;
cin>>a>>b;
} while (a == 0 && b == 0);
do {
if (a > b) {
a = a % b;
} else if (b > a) {
b = b % a;
}
} while (a != 0 || b != 0);
cout<<"greatest common divisor of the given numbers = "<<a+b<<endl;
}
Представим, что после очередной итерации a таки 0, а b ну, скажем, 10.
a != 0 || b != 0
совершенно истинно - b не равно 0, так что выходим на следующую итерацию и начинаем делить на 0...
Тут вам нужно
a != 0 && b != 0
А вот в первом цикле как раз нужно
a == 0 || b == 0
чтобы не принимало даже одного нуля, а не оба :)
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники