Нужна программа на языке паскаль (через while и как можно проще Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является неубывающей. Несколько чисел, идущих подряд, равны между собой. Найти количество таких чисел.
2. Всё стоит в отрицании (НЕ), если отрицание истинно, значит, его аргумент ложен, Первая буква согласная ИЛИ Последняя буква гласная ложно. Всё аналогично первому, ответ Иван (1).
3. (X < 3) И НЕ (X < 2) = (X < 3) И (X >= 2) = (2 <= X < 3). Это неравенство выполнено для 2 (2).
4. Должно быть неверно, что третья буква гласная и неверно, что НЕ(последняя буква гласная), т.е. третья буква согласная, а последняя гласная. ответ Татьяна (2).
5. Конъюнкция (логическое И) истинно, если все операнды истинны, в данном случае НЕ(третья буква гласная)=(третья буква согласная) и (последняя буква согласная). Подходит Матвей (4).
6. Должны выполняться НЕ(количество гласных нечетно) и НЕ(первая буква согласная), т.е. кол-во гласных чётно и первая буква гласная. ответ Одоевский (2).
7. Опять конъюнкция, истинны оба операнда: НЕ(число < 20) = (число >= 20) и (число чётное). Среди вариантов есть только одно чётное число, не меньшее 20, это 36 (4).
8. Нужно слово, оканчивающееся на мягкий знак и состоящее из нечётного числа букв, это декабрь (3).
#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;
}