uses crt;
var i,count:integer;
a:array[1..15] of integer;
begin
randomize;
count:=0;
writeln('Первый екзамен сдало 15 человек ');
for i:=1 to 15 do
begin
a[i]:=random(5)+1;
if a[i] = 2 then inc(count);
end;
for i:=1 to 15 do writeln('Студент ',i,' написал на ',a[i],' балов '); //не обезательно
writeln('На екзамен допущено ',count,' человек!! ');
readln;
end.
Это по суди задача на поиск минимума функции на отрезке (-20;20). Функция - парабола. Аналитически можно найти ее вершину, х=1, f(1)=-64.
Const
LIM=2; W=8; D=2; n=5; m=5; { n строк, m столбцов }
var
a: array [1..n,1..m] of real;
p: real;
h: boolean;
i, j: integer;
begin
Randomize;
WriteLn('A=');
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=LIM*Random;
Write(a[i,j]:W:D);
end; WriteLn;
end;
WriteLn('B=');
for i:=1 to n do begin
p:=1; h:=false;
for j:=1 to m do
if (abs(a[i,j])>=1) and (abs(a[i,j])<=1.5) then begin
p:=p*sqr(a[i,j]); h:=true;
end;
if h then Write(p:W:D) else Write('?':W);
end; WriteLn;
Write('Нажмите ENTER...'); ReadLn;
end.
#include <iostream>
#include <math.h>
using namespace std;
int main(){
double m[10][10];
for (int i = 1; i <= 10; i++)
for (int j = 1; j <= 10; j++) {
cout << "Введите значение массива" << "[" << i << "]" << "[" << j << "]" << endl;
cin >> m[i][j];
if (j % 2 == 0) m[i][j] = pow(m[i][j],3);
}
for (int i = 1; i <= 10; i++)
for (int j = 1; j <= 10; j++)
cout << "m[" << i << "]" << "[" << j << "]=" << m[i][j] << endl;
return 0;
}
Решение показано в прилагаемом файле.
Формула:
=ЕСЛИ(C2<=2;0;ЕСЛИ(C2=3;0,2*B2;0,3*B2))