#include <stdio.h>
#include <cmath>
#include <conio.h>
//Лаб.работа 4 студента гр.3108
//Привалова Любовь Михайловна
//Вариант 18
int main()
{
printf("L.r.#4 Privalova L. 18-3108-19\n");
printf("\n");
double x,b,a,y,s;
double t = 1; // У Вас t не описано, не знаю его значения
printf("x="); scanf("%1f",&x);
printf("b="); scanf("%1f",&b);
printf("a="); scanf("%1f",&a);
y=(exp(-b*t)*sin(a*t+b))-sqrt(abs(b*t+a)); // exp() ???
s=b*sin(a*sqrt(t)*cos(a*t))-1; // sqrt() ???
printf("y=%1.4f\n",y);
printf("s=%1.4f\n",s);
printf("press and key");
getch();
return 0;
}
PascalABC.NET
1. Короткое, внешне изящное, но крайне неэффективное решение, поскольку массив просматривается ПЯТЬ раз.
begin
var a := ArrRandom(40, 0, 120);
a.Println;
Println('Элементов, равных 30:', a.Count(p -> p = 30));
Println('Сумма элементов:', a.Sum);
Println('Среднее арифметическое элементов:', a.Average);
var (imax, imin) := (a.IndexMax, a.IndexMin);
Println('Максимальный элемент №', imax + 1, '=', a[imax]);
Println('Минимальный элемент №', imin + 1, '=', a[imin])
end.
2. Более длинное решение, но с ОДНИМ просмотром массива и поэтому эффективное.
begin
var a := ArrRandom(40, 0, 120);
a.Println;
var (k, s, imax, imin) := (0, 0, 0, 0);
for var i := 0 to a.High do
begin
if a[i] = 30 then
Inc(k);
s += a[i];
if a[i] > a[imax] then
imax := i
else if a[i] < a[imin] then
imin := i
end;
Println('Элементов, равных 30:', k);
Println('Сумма элементов:', s);
Println('Среднее арифметическое элементов:', s / 40);
Println('Максимальный элемент №', imax + 1, '=', a[imax]);
Println('Минимальный элемент №', imin + 1, '=', a[imin])
end.