Как правильно оформить цикл for и откуда возникает деление на 0 в последствии? Оо

Компьютеры программирование программы С++

(кричит, что на 0 делить нельзя, а я и не делю вроде)
программа по идее выявляет наибольший общий делитель 2х чисел

#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <iostream>
#include <locale.h>

using namespace std;

int gcd(int q1, int q2)
{
int q3;
for(q2;;)
{
q3 = q1%q2;
q1=q2;
q2=q3;
if(q3==1)
{
continue;
}
}
return q1;
}

int main()
{
int a, b;
setlocale(LC_ALL, "rus");
cout<<"Введите числа\n";
cin>>a>>b;
gcd(a,b);
getch();
}

Примечание:
там в цикле if правда if(q2==0){...}

Примечание:
sgx, q3 - остаток от деления 2х чисел q1 и q2

Примечание:
Евгений М., так оператором % я как бы и делю по модулю)
Ответы:
Что, по-вашему, делает q3 = q1%q2 ?
Дополнение #2 18.10.2012, 16:57:21
sgx, q3 - остаток от деления 2х чисел q1 и q2


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.