Program Type1; Var X1, Y1, X2, Y2: Integer; BeginWriteLn('X1 = '); ReadLn(X1); WriteLn('Y1 = '); ReadLn(Y1); WriteLn('X2 = '); ReadLn(X2); WriteLn('Y2 = '); ReadLn(Y2); If (X1 = -X2) And (Y1 = -Y2) Then WriteLn('Точки симметричны относительно начала координат') Else If (X1 = -X2) And (Y1 = Y2) Then WriteLn('Точки симметричны относительно оси Y') Else If (X1 = X2) And (Y1 = -Y2) Then WriteLn('Точки симметричны относительно оси X') Else WriteLn('Точки не симметричны'); ReadLn; End.
Без использования составных условий:
Program Type2; Var X1, Y1, X2, Y2: Integer; Begin WriteLn('X1 = '); ReadLn(X1); WriteLn('Y1 = '); ReadLn(Y1); WriteLn('X2 = '); ReadLn(X2); WriteLn('Y2 = '); ReadLn(Y2); If (X1 + X2 = 0) And (Y1 + Y2 = 0) Then WriteLn('Точки симметричны относительно начала координат') Else If (X1 + X2 = 0) And (Abs(Y1) - Abs(Y2) = 0) Then WriteLn('Точки симметричны относительно оси Y') Else If (Abs(X1) - Abs(X2) = 0) And (Y1 + Y2 = 0) Then WriteLn('Точки симметричны относительно оси X') Else WriteLn('Точки не симметричны'); ReadLn; End.
Program Zadacha; Const n = 10; m = 10; max = 15; Var A: Array [1..n, 1..m] Of Integer; B: Array[1..n] of Integer; C: Array[1..n] of Real; min, sum, count, i, j: Integer; Begin Randomize; For i := 1 To n Do For j := 1 To m Do A[i, j] := Random(max * 2) - max; min := max; For i := 1 To n Do For j := 1 To m Do If A[i, j] < min Then min := A[i, j]; For i := 1 To n Do For j := 1 To m Do If A[i, j] = min Then B[i] := 1; sum := 0; count := 0; For i := 1 To n Do Begin For j := 1 To m Do If (A[i, j] Mod 2 = 0) And (A[i, j] >= 0) Then Begin sum := sum + A[i, j]; count := count + 1; End; C[i] := sum / count; sum := 0;count := 0; End; WriteLn('Массив A:'); For i := 1 To n Do Begin For j := 1 To m Do Write(A[i, j], ' '); WriteLn; End; WriteLn('Массив B:'); For i := 1 To n DoWrite(B[i], ' '); WriteLn; WriteLn('Массив C (среднее арифметиеское положительных четных элементов массива A):'); For i := 1 To n Do Write(C[i]:5:2, ' '); ReadLn; End.
#include <iostream>
#include <vector>
using namespace std;
double geometric_mean(std::vector<float> const& data)
{
auto product = 1.0;
for (auto x : data) product *= x;
return std::pow(product, 1.0 / data.size());
}
int main()
{
const unsigned int M = 3;
const unsigned int N = 5;
std::vector<float> g;
float TV[6][7]= {
{ 7.2, 3.6, 4.8, 6.3, 0, 3.2, 0 },
{ 4.5, 2.3, -5.1, 1.3, 8.1, 0, 2.4 },
{ 6.3, -2.4, 8.4, 0, 1.6, 1.5, 0 },
{ 1.7, 6.8, 1.3, 9.5, 0, 0, 1.8 },
{ 2.3, 2.6, 8.5, 0.8, 2.6, 0, 0 },
{ 9.5, 1.6, -3.8, 2.6, -1.3, 3.3, -0.8 }
};
for (int i = 0; i < N; i++)
{
float max = TV[0][i];
for (int j = 0; j < M; j++)
{
if (TV[j][i] >= max) max = TV[j][i];
}
cout << "max M[" << i+1 << "]=" << max<<endl;
g.push_back(max);
}
cout << "GM=" << geometric_mean(g)<<endl;
system("pause");
}
Объяснение: