Ну по логике, наверное, достаточно одного взвешивания. Получаем при этом некоторую массу в граммах. Затем смотрим, сколько нам не хватает граммов до 40 грамм - это и будет количество фальшивых монет. Например: Получили 40 г. Значит все 4 монеты весят 10 г. Получили 39 г. Значит имеем три монеты по 10 г и одну 9 г. Т.е. одна фальшивая. Получили 38 г. Значит имеем 2 монеты по 10 г и две по 9 г. Т.е. две фальшивки. Получили 37 г. Значит одна 10 г и три по 9 г. Т.е. три фальшивки. Получили 36 г. значит имеем 4 монеты по 9 г, то есть все 4 фальшивые. Так вот как-то...
Во-первых в начале НЕ сin << sys, а сin >> s;
Во-вторых ты объявил/а все переменные в первом ифе, а значит в других функциях они уже не видны, поэтому стоит их объявить глобально
В-третьих переменная g не используется, поэтому можно ее и не объявлять
Вот код:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int sys;
float a, b, c, d, e, sum, mid, pi=3.14, r;
cout << "if you would midle write-1, if place of circle-2" << endl;
cin >> sys;
if(sys == 1) {
cout << "input first midle" << endl;
cin >> a;
cout << "inpur second midle" << endl;
cin >> b;
cout << "input third midle" << endl;
cin >> c;
cout << "input thord midle" << endl;
cin >> d;
cout << "input fived midle" << endl;
cin >> e;
sum = a + b + c + d + e;
mid = sum / 5;
cout << "your midle: ";
cout << mid;
}
else{
if(sys == 2) {
cout << "this is the circle area formula S=pi*r^2" << endl;
cout << "input radius(r)" << endl;
cin >> r;
cout << pi * r * r;
}
}
return 0;
}
Например:
Получили 40 г. Значит все 4 монеты весят 10 г.
Получили 39 г. Значит имеем три монеты по 10 г и одну 9 г. Т.е. одна фальшивая.
Получили 38 г. Значит имеем 2 монеты по 10 г и две по 9 г. Т.е. две фальшивки.
Получили 37 г. Значит одна 10 г и три по 9 г. Т.е. три фальшивки.
Получили 36 г. значит имеем 4 монеты по 9 г, то есть все 4 фальшивые.
Так вот как-то...