Объяснение:
В общем сделал так чтобы проверялись вообще все возможные перестановки чисел, а не одинарные
#include <iostream>
using namespace std;
bool is_permutation(int* A, int* B, int size);
int main()
{
int *A, *B, N;
bool result;
cin >> N;
A = new int[N];
B = new int[N];
for (int i = 0; i < N; i++) cin >> A[i];
for (int i = 0; i < N; i++) cin >> B[i];
result = is_permutation(A, B, N);
if (result) cout << "YES";
else cout << "NO";
return 0;
}
bool is_permutation(int* A, int* B, int size)
{
int CountInA, CountInB;
for (int i = 0; i < size; i++) { // Перебираем по одному все элементы массива B
CountInA = 0;
CountInB = 0;
for (int j = 0; j < size; j++)
{
if (B[i] == A[j]) CountInA++; // Считаем сколько раз этот элемент встретился в массиве А
if (B[i] == B[j]) CountInB++; // Считаем сколько раз этот элемент встретился в массиве B
}
if (CountInA != CountInB) return false;// Если счётчики не совпали, то сразу выходим из цикла
}
return true;// Если счётчики всегда совпадали, то мы попадём сюда и массивы состоят из одинакового количества одинаковых элементов
}
#include "pch.h"
#include
#include
using namespace std;
double f(double x)
{
double m = -7 * pow(x, 3) - 5.8*x - 4;
return m;
}
int main()
{
double a = -1; double b = 2;
flag1:
double c = 0.5*(a + b);
if (f(c) == 0)
cout << "The result is " << c << endl;
if (f(c)*f(a) < 0)
{
b = c;
goto flag1;
}
if (f(c)*f(b) < 0)
{
a = c;
goto flag1;
}
if (c >= a && c <= b)
cout << "The solution belongs to the interval" << endl;
else
cout << "The solution doesn't belongs to the interval";
return 0;
}
Тут с флагами. Если не нравятся флаги - перестройте под себя.
Поделитесь своими знаниями, ответьте на вопрос:
Решить на паскаль с постусловием дано натуральное число m. написать программу для вычисления первой цифры числа m. входные данные 54321 выходные данные 5. дано натуральное число m. написать программу для вычисления второй цифры числа м(m> 10) входные данные 54321 выходные данные 4.
m, i: integer;
a: array[1..10] of integer;
begin
readln(m);
i := 0;
repeat
i := i + 1;
a[i] := m mod 10;
m := m div 10;
until m = 0;
writeln('Первая цифра ', a[i]);
writeln('Вторая цифра ', a[i - 1]);
end.