// PascalABC.Net 3.0, сборка 1066 begin var n:=ReadInteger('Количество элементов массива: '); var a:=ArrRandom(n,-10,10); Writeln('Исходный массив: ',a); Writeln('Максимумов: ',a.Where(x->x=a.max).Count) end.
Тестовое решение: Количество элементов массива: 20 Исходный массив: [5,-4,-9,-5,-10,10,10,-9,1,-8,0,-6,0,6,-3,-10,-2,2,-9,10] Максимумов: 3
/*VS C++*/ #include <iostream> using namespace std; int main() { setlocale(LC_ALL, ""); float x, y, z, m; cout << "Введите 3 числа через пробел: "; cin >> x >> y >> z; float min = x - y; float max = y; if (y > max) max = y; if (z > max) max = z; if (y - z < min) min = y - z; if (x - z < min) min = x - z; m = max / min; printf("m = %.1f", m); cout << endl; system("pause"); return 0; }
//C // #include <stdio.h> int main() { float x, y, z, m; scanf("%f%f%f", &x,&y,&z); float min = x - y; float max = y; if (y > max) max = y; if (z > max) max = z; if (y - z < min) min = y - z; if (x - z < min) min = x - z; m = max / min; printf("m = %.1f", m); printf("\n"); return 0; }
Постфиксную запись удобно воспринимать как манипуляции со стеком — аналогом длинной трубки с отверстием внизу. в которую можно класть шары, при этом каждый следующий шар проталкивает дальше предыдущие.
Идём по записи 1) 5 — кладём в стек 5 2) 13 — кладём в стек 13 3) 7 — кладём в стек 7 4) - — вытаскиваем из стека два последних шара (13 и 7) и кладём обратно их разность 13 - 7 = 6 5) * — вытаскиваем из стека два последних шара (5 и 6) и кладём обратно их произведение (5 * 6 = 30). 30 и будет ответом.
begin
var n:=ReadInteger('Количество элементов массива: ');
var a:=ArrRandom(n,-10,10);
Writeln('Исходный массив: ',a);
Writeln('Максимумов: ',a.Where(x->x=a.max).Count)
end.
Тестовое решение:
Количество элементов массива: 20
Исходный массив: [5,-4,-9,-5,-10,10,10,-9,1,-8,0,-6,0,6,-3,-10,-2,2,-9,10]
Максимумов: 3