Составить программу для вычисления элементов одномерного массива по формуле: ...

0 голосов
95 просмотров

Составить программу для вычисления элементов одномерного массива по формуле:
a[k]:=S*(x[i]*(exp(x[i])))/ln(z[k])+(S*(exp(b[i,j])*sin(b[i,j])));

у меня получилась такая программа:

program lab6_3;
var
i,j,n,m,k:integer;
S,S1,S2:real;
a,x,z:array[1..3] of real;
b:array[1..3,1..3] of real;
begin
S:=0;
write('введите n=');
readln(n);
write('введите m=');
readln(m);
for i:=1 to n do
for j:=1 to m do
while (k<=2) do<br> begin
write('b[',i,',',j,']=');
read(b[i,j]);
end;
for i:=1 to n do
begin
write('x[',i,']=');
readln(x[i]);
end;
for j:=1 to m do
begin
a[k]:=S*(x[i]*(exp(x[i])))/ln(z[k])+(S*(exp(b[i,j])*sin(b[i,j])));
write(' ',a[k]:0:4);
end;
end.
не понимаю где ошибаюсь. При вводе данных я ввожу n и m, а потом появляется b[1,1]=1 и у меня он вводит в дальнейшем только b[1,1] до бесконечности и не важно какие при этом вводятся((((


Информатика (28 баллов) | 95 просмотров
Дан 1 ответ
0 голосов

На Паскале:

program Program1;
var i, j, n, k: integer;
var result: real;
var array1: array [1..255] of real;
begin
     result := 0;
     write('Введите значение N (не более 255): ');
     readln(n);
     for i := 1 to n do
         begin
          write('Введите значение ', i, ' элемента массива: ');
          readln(array1[i]);
         end;
         begin
          writeln('Массив, размером - ', n, ' элементов(а):');
          for i := 1 to n do write(array1[i], ' ');
          writeln;
         end;
     for i:=1 to n do
         begin
          k := 0;
          for j:=1 to n do
          if array1[i] = array1[j] then k := k + 1;
          if k = 1 then result := result + array1[i];
         end;
     writeln('Сумма уникальных элементов массива = ', result);
end.

(292 баллов)
0

а если k=1,2,...,1?

0

S1:=S*(x[i]*(exp(x[i])));
S2:=ln(z[k])+S*(exp(b[i,j])*sin(b[i,j]));
S:=S1/S2;
я переделал чуток и думаю надо написать вот так наверное

0

a[k]=S