В этой программе множество ошибок. 1. В заголовке процедуры procedure summ(plus:string;minus:string); параметры plus и minus описаны, как строки. В теле процедуры обоим параметрам присваивается значение, равное соединению строк a и b, а вовсе не сумма чисел и их разность, как требует условие. 2. Поскольку параметры не имеют описателя var, после выхода из процедуры их исходное значение не изменяется. 3. Операторы Readn(b) дважды выполняют присваивание переменной b, а переменная a значения не получает. 4. Вызов процедуры summ неверен, поскольку вместо пары строковых фактических параметров используется вызов процедуры Writen, что синтаксически неверно.
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
#include <windows.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int n, k, chastnoe, ostatok;
cout << "Введите делимое N = ";
cin >> n;
cout << "Введите делитель K = ";
cin >> k;
if (k != 0)
{
int tmp = n;
chastnoe = ostatok = 0;
while (tmp >= k)
{
tmp -= k;
chastnoe++;
}
ostatok = tmp;
}
cout << "Частное от деления: " << chastnoe << endl;
cout << "Остаток от деления: " << ostatok << endl;
return 0;
}
Объяснение:
1. В заголовке процедуры procedure summ(plus:string;minus:string); параметры plus и minus описаны, как строки. В теле процедуры обоим параметрам присваивается значение, равное соединению строк a и b, а вовсе не сумма чисел и их разность, как требует условие.
2. Поскольку параметры не имеют описателя var, после выхода из процедуры их исходное значение не изменяется.
3. Операторы Readn(b) дважды выполняют присваивание переменной b, а переменная a значения не получает.
4. Вызов процедуры summ неверен, поскольку вместо пары строковых фактических параметров используется вызов процедуры Writen, что синтаксически неверно.