Найти частное от деления и остаток используя только операции сложения и вычитания.
Как уже было сказано в условии программы, можно использовать только операции сложения и вычитания. Результат работы программы показан ниже:
// divide_add_sub.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> using namespace std; int main(int argc, char* argv[]) { setlocale(LC_ALL, "rus"); cout << "Введите делимое: "; int divident; // делимое cin >> divident; cout << "Введите делитель: "; int divider; // делитель cin >> divider; int integer = 0; // целая часть от деления while (abs(divident) && abs(divident) >= abs(divider) && divider != 0) { if ((divident >= 0 && divider > 0) || (divident < 0 && divider < 0)) // если делимое и делитель положительные или отрицательные числа { divident -= divider; // уменьшаем делимое integer++; // инкремент целой части от деления } else { if (divident < 0 && divider > 0) // если делимое отрицательное а делитель положительное числа { divident += divider; integer--; } else { if (divident > 0 && divider < 0) // если делимое положительное а делитель отрицательное числа { divident += divider; integer--; } } } } if (divider != 0) { cout << "Частное от деления: " << integer << "\nОстаток от деления: " << divident << endl; } else cout << "На ноль делить нельзя!\n"; system("pause"); return 0; }
Результат смотрим ниже:
CppStudio.com
Введите делимое: 15
Введите делитель: 5
Частное от деления: 3
Остаток от деления: 0
Комментарии
olewasl
PeZBarboZ
PeZBarboZ
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, «RUS»);
int d = 0;
int dd = 0;
cout << «Введите делимое : «; cin >> d;
cout << «Введите делитель : «; cin >> dd;
int i = 0;
int d1 = d;
int dd1 = dd;
while (d1 > 0)
{
d1 -= dd1;
i++;
if (d1 < 0)
{
i—;
}
}
cout << «Частное от деления : » <<i<< endl;
////////////////////////////////////////////
int ost = 0;
while (d>0)
{
ost = (d -= dd);
if (d < 0)
ost += dd;
}
cout << «Остаток : » << ost << endl;
//////////////////////////////////////
int proverka = (dd * i) + ost;
cout << «Делитель (» << dd << «) * Частное от деления(» << i << «) + Остаток(» << ost << «) = » << (dd * i) + ost << endl;
return 0;
}