Сс++. даны натуральное число k и вещественные массивы х[n], у[n]. определить количество точек на плоскости с координатами (x[i], где i=0,…, n-1, внутрь круга с центром в начале координат и радиусом, равным k.
Одно из решений, возможно, не самое эффективное #include <iostream> #include <iomanip> int main() { using namespace std;
//исходная последовательность const int N = 8; double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };
//вывод на экран исходной последовательности for (int i = 0; i < N; ++i) cout << Arr[i] << " "; cout << endl;
//подсчитаем количества отрицательных и неотрицательных элементов int kpos = 0; int kneg = 0; for (int i = 0; i < N; ++i) if (Arr[i] < 0) ++kneg; else ++kpos;
//создадим массивы отрицательных и неотрицательных элементов double * ArrNeg = new double[kneg]; double * ArrPos = new double[kpos];
int kn = 0, kp = 0; for (int i = 0; i < N; i++) if (Arr[i] < 0) ArrNeg[kn++] = Arr[i]; else ArrPos[kp++] = Arr[i];
cout << "Enter a, b, c or d: "; char ch; cin >> ch;
if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd') { switch (ch) { //пункт а) case 'a': for (int i = 0; i < kneg; ++i) Arr[i] = ArrNeg[i]; for (int i = 0; i < kpos; ++i) Arr[i + kneg] = ArrPos[i]; break;
//пункт б) case 'b': for (int i = 0; i < kneg; ++i) Arr[i] = ArrNeg[--kn]; for (int i = 0; i < kpos; ++i) Arr[i + kneg] = ArrPos[i]; break;
//пункт в) case 'c': for (int i = 0; i < kneg; ++i) Arr[i] = ArrNeg[i]; for (int i = 0; i < kpos; ++i) Arr[i + kneg] = ArrPos[--kp]; break;
//пункт г) case 'd': for (int i = 0; i < kneg; ++i) Arr[i] = ArrNeg[--kn]; for (int i = 0; i < kpos; ++i) Arr[i + kneg] = ArrPos[--kp]; break; } } else cout << "You entered wrong symbol\n";
for (int i = 0; i < N; ++i) cout << Arr[i] << " "; cout << endl; delete[] ArrNeg; delete[] ArrPos; return 0; }
#include <iostream>
#include <iomanip>
int main()
{
using namespace std;
//исходная последовательность
const int N = 8;
double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };
//вывод на экран исходной последовательности
for (int i = 0; i < N; ++i)
cout << Arr[i] << " ";
cout << endl;
//подсчитаем количества отрицательных и неотрицательных элементов
int kpos = 0;
int kneg = 0;
for (int i = 0; i < N; ++i)
if (Arr[i] < 0)
++kneg;
else
++kpos;
//создадим массивы отрицательных и неотрицательных элементов
double * ArrNeg = new double[kneg];
double * ArrPos = new double[kpos];
int kn = 0, kp = 0;
for (int i = 0; i < N; i++)
if (Arr[i] < 0)
ArrNeg[kn++] = Arr[i];
else
ArrPos[kp++] = Arr[i];
cout << "Enter a, b, c or d: ";
char ch;
cin >> ch;
if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd')
{
switch (ch)
{
//пункт а)
case 'a':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[i];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[i];
break;
//пункт б)
case 'b':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[--kn];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[i];
break;
//пункт в)
case 'c':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[i];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[--kp];
break;
//пункт г)
case 'd':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[--kn];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[--kp];
break;
}
}
else
cout << "You entered wrong symbol\n";
for (int i = 0; i < N; ++i)
cout << Arr[i] << " ";
cout << endl;
delete[] ArrNeg;
delete[] ArrPos;
return 0;
}
Объяснение:
a := 30
b := 6
a := a * 3 / b
если a < b
то c := 2 * a – 5 * (b + 2)
иначе c := 2 * a + 5 * (b + 2)
все
2) a := 30
b := 18
a := 3 * b - a
если a > b
то с := 2 * a - b
иначе c := 2 * a + b
все
3) a := 56
b := 7
k := 6
a := a/7 - b
если a > b
то c := a - k*b
иначе c := a + k*b
все
4) алг
нач
цел s, t
ввод s
ввод t
если s > 8 и t > 8
то вывод "YES"
иначе вывод "NO"
все
кон
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(9, 10); (11, 5); (–2, 8); (9, 9); (2, 8); (–1, 3); (–4, 5); (10, 9); (4, –3).
Сколько было запусков, при которых программа напечатала «YES»?
5) алг
нач
цел s, t
ввод s
ввод t
если s > 4 и t > 4
то вывод "YES"
иначе вывод "NO"
все
кон
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(10, 6); (7, 6); (–4, 3); (2, 9); (12, 7); (–11, 4); (–8, 13); (10, 9); (6, 5).
Сколько было запусков, при которых программа напечатала «NO»?
6) алг
нач
цел s, t
ввод s
ввод t
если s > 6 и t < 7
то вывод "YES"
иначе вывод "NO"
все
кон
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(7, 3); (2, 7); (6, 10); (5, 3); (5, 4); (–11, 4); (–8, 9); (7, 3); (9, 1).
Сколько было запусков, при которых программа напечатала «YES»?
7) алг
нач
цел s, t
ввод s
ввод t
если s > 2 и t < 5
то вывод "YES"
иначе вывод "NO"
все
кон
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(–2, 3); (2, 5); (0, 3); (5, –3); (5, 4); (11, 4); (8, –6); (7, 3); (9, 1).
Сколько было запусков, при которых программа напечатала «YES»?