На строке 9 "if x>=-7.5 and x<2 then y:=(a*sqrt(abs(x+6))); " в том месте, где выделено жирным, компилятор думает, что необходимо произвести побитовое умножение числа с плавающей точкой типа real -7.5 и целого числа x. Т.к. побитовое умножение применимо только к целым числам, компилятор пытается преобразовать -7.5 к целому числу, т.е. к integer, и у него это не получается, о чем он Вам и говорит.
Чтобы он не думал, что Вы собираетесь производить побитовое умножение (ведь Вы хотите произвести логическую операцию между результатами двух сравнений), нужно занести в скобки выражения x>=-7.5 и x<2, чтобы получилась такая строка: "if (x>=-7.5) and (x<2) then y:=(a*sqrt(abs(x+6))); "
#include <iostream>
using namespace std;
void sortArray(int *arr) {
int tmp;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4 - 1; j++) {
if (arr[j] > arr[j + 1]) {
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
for (int i = 0; i < 4; ++i) {
cout << arr[i]<< " ";
}
}
int main() {
setlocale(LC_ALL, "Russian");
int* data = new int[4];
cout << "Введите числа: " << endl;
for (int i = 0; i < 4; ++i) {
cin >> data[i];
}
sortArray(data);
delete [] data;
system(" Pause");
}
Объяснение:
Код на с++.
По факту,всё что тебе нужно это
tmp = arr[j];
аrr[j] = arr[j + 1];
arr[j + 1] = tmp;
Где arr-это твой массив 4-ёх чисел.
при этого напишешь на любом языке такой алгоритм