#include <iostream>
#include <cmath>
using namespace std;
class Circle
{
private:
double x;
double y;
double r;
public:
Circle();
Circle(double xCo, double yCo, double rad);
double area();
double centre_dist(Circle & c);
bool istouch(Circle & c);
};
Circle::Circle()
{
cout << "Enter x coord: ";
cin >> x;
cout << "Enter y coord: ";
cin >> y;
cout << "Enter radius: ";
while (cin >> r && r < 0)
{
cout << "Radius can't be negative\n";
cout << "Enter radius: ";
}
}
Circle::Circle(double xCo, double yCo, double rad) : x(xCo), y(yCo), r(rad)
{
if (r < 0)
{
cout << "Radius can't be negative\n";
cout << "Radius set to 0\n";
r = 0;
}
}
double Circle::area()
{
return 3.1415926 * r * r;
}
double Circle::centre_dist(Circle & c)
{
return sqrt((x - c.x) * (x - c.x) + (y - c.y) * (y - c.y));
}
bool Circle::istouch(Circle & c)
{
return (this->centre_dist(c) <= r + c.r) ? true : false;
}
int main()
{
Circle c1;
Circle c2(0, 0, 5);
cout << "area of c2: " << c2.area() << endl;
cout << "centre distance: " << c2.centre_dist(c1) << endl;
cout << "is touch: ";
c2.istouch(c1) ? cout << "yes" : cout << "no";
cout << endl;
return 0;
}
Ответ:
Смотри картинку
Объяснение:
1. НЕ А (значение обратно исходному)
А = 0 НЕ А = 1
А = 0 НЕ А = 1
А = 1 НЕ А = 0
А = 1 НЕ А = 0
2. А И В (истина (равно 1), когда оба высказывания истина (А = 1 и В = 1))
А = 0 В = 0 А И В = 0 И 0 = 0
А = 0 В = 1 А И В = 0 И 1 = 0
А = 1 В = 0 А И В = 1 И 0 = 0
А = 1 В = 1 А И В = 1 И 1 = 1
3. НЕ А И В (истина (равно 1), когда оба высказывания истина (НЕ А = 1 и В = 1))
НЕ А = 1 В = 0 НЕ А И В = 1 И 0 = 0
НЕ А = 1 В = 1 НЕ А И В = 1 И 1 = 1
НЕ А = 0 В = 0 НЕ А И В = 0 И 0 = 0
НЕ А = 0 В = 1 НЕ А И В = 0 И 1 = 0
4. (А И В) ИЛИ (НЕ А И В) (ложь (равно 0), когда оба высказывания ложь ((А И В) = 0 и (НЕ А И В) = 0))
А И В = 0 НЕ А И В = 0 (А И В) ИЛИ (НЕ А И В) = 0 ИЛИ 0 = 0
А И В = 0 НЕ А И В = 1 (А И В) ИЛИ (НЕ А И В) = 0 ИЛИ 1 = 1
А И В = 0 НЕ А И В = 0 (А И В) ИЛИ (НЕ А И В) = 0 ИЛИ 0 = 0
А И В = 1 НЕ А И В = 0 (А И В) ИЛИ (НЕ А И В) = 1 ИЛИ 0 = 1
<em>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
var aInd:=a.IndexesOf(t->t.IsOdd and (t mod 7=0));
if aInd.Count=0 then Writeln('Нет нечетных чисел, кратных 7')
else begin
Write('Номера нечетных элементов, кратных 7: ');
aInd.Select(i->i+1).Println(',')
end
end.
<u>Пример</u>
n= 20
-38 -50 51 -90 66 -7 49 37 -91 2 69 44 -83 73 68 -99 72 -18 80 32
Номера нечетных элементов, кратных 7: 6,7,9
var f,g:string;
i:integer;
begin
readln(f);
for i:=1 to length(f)-1 do if (f[i+1]='а') then g:=g+f[i];
writeln(g);
g:='';
for i:=2 to length(f) do if (f[i-1]='а') then g:=g+f[i];
writeln(g);
end.