• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль Задача на двумерный массив

  • Автор темы Автор темы Garold
  • Дата начала Дата начала
Как-то так:

Const
N= ;
M= ;
A= ;
B= ;
{ ЗАДАТЬ ЗНАЧЕНИЯ КОНСТАНТ В ЯВНОМ ВИДЕ ! }

VAR
X:ARRAY[1..N] of REAL;
Y,S:ARRAY[1..M] of REAL;
F:ARRAY[1..N, 1..M] of REAL;
i, j:BYTE;

FUNCTION Log3(x:REAL):REAL;
BEGIN
Log3:=Ln(x)/Ln(3);
END;

BEGIN

FOR i:=1 TO N DO
Write('X[',i:3,'] = '); ReadLn(X);
FOR j:=1 TO M DO
Write('Y[',j:3,'] = '); ReadLn(Y[j]);


FOR i:=1 TO N DO
FOR j:=1 TO M DO
IF (ABS(Sin(X))>=A) AND (ABS(Sin(X))<=B) THEN
F[i,j]:=SQRT(ABS(Sin(X)-Exp(Y[j])))
ELSE
F[i,j]:=3*Sin(1-Log3(Y[j]));

FOR j:=1 TO M DO
BEGIN
S[j]:=0;
FOR i:=1 TO N DO
S[j]:=S[j]+F[i,j];
END;

END.

Вывод данных организуйте сами!
 
Огромное спасибо, Vladimir_S! Очень помог! :)
 
Я немного преобразовал предложенный Vladimir_S код, но все равно ничего не получилось с выводом данных. Посмотреть вложение Massiv.txt Подскажите, пожалуйста, что еще необходимо сделать, чтобы выполнить задание до конца?
 
Вот (проверено):

Program Massiv;

const
N=3;
M=5;
A=0;
B=1;

var
X:array[1..N] of real;
Y,S:array[1..M] of real;
F:array[1..N, 1..M] of real;
i,j:byte;

function log3(x:real):real;
begin
log3:=ln(x)/ln(3);
end;

begin

for i:=1 to N do begin
write('X[',i:3,']=');
readln(X); end;
for j:=1 to M do begin
write('Y[',j:3,']=');
readln(Y[j]); end;

write(' X\Y |');
for i:=1 to M do write(y:6:2);
writeln;
for i:=1 to N do begin
write(x:6:2, '|');
for j:=1 to M do begin
if (abs(sin(X))>=A) and (abs(sin(X))<=B) then
F[i,j]:=sqrt(abs(sin(X-exp(Y[j])))) else
F[i,j]:=3*sin(1-log3(Y[j]));
Write(F[i,j]:6:2);
end;
Writeln;
end;

Writeln;
for j:=1 to M do
begin
S[j]:=0;
for i:=1 to N do
S[j]:=S[j]+F[i,j];
end;
for j:=1 to M do
Write(j:6);
Writeln;
for j:=1 to M do
Write(S[j]:6:2);
Writeln;

Readln;

end.
 
Еще раз огромное спасибо, Vladimir_S! Очень выручил. :)
 
Подскажите, пожалуйста, как будет выглядеть блок-схема вот этого фрагмента программного кода:

for i:=1 to N do begin
write('X[',i:3,']=');
readln(X); end;
for j:=1 to M do begin
write('Y[',j:3,']=');
readln(Y[j]); end;

Заранее огромное спасибо!
 
Блок-схема
 

Вложения

  • image001.gif
    image001.gif
    12.7 KB · Просмотры: 800
Спасибо большое, AlexZir!
Ребята, выручайте! Не могу составить блок-схему вот на этот участок кода:
for j:=1 to M do
Write(j:6);
Writeln;
for j:=1 to M do
Write(S[j]:6:2);
Writeln;
Readln;
Помогите, пожалуйста, с этим "кусочком". Буду очень вам благодарен! :)
 
Блок-схема похожа на предыдущую, но убран ввод в цикле и добавлен вывод пустой строки (п.с.)
 

Вложения

  • image001.gif
    image001.gif
    9.3 KB · Просмотры: 752
Посмотрите, пожалуйста, правильно ли составлена блок-схема к программе?
Код программы:
Program Massiv;

const
N=3;
M=5;
A=0;
B=1;

var
X:array[1..N] of real;
Y,S:array[1..M] of real;
F:array[1..N, 1..M] of real;
i,j:byte;

function log3(x:real):real;
begin
log3:=ln(x)/ln(3);
end;

begin

for i:=1 to N do begin
write('X[',i:3,']=');
readln(X); end;
for j:=1 to M do begin
write('Y[',j:3,']=');
readln(Y[j]); end;

write(' X\Y |');
for i:=1 to M do write(y:6:2);
writeln;
for i:=1 to N do begin
write(x:6:2, '|');
for j:=1 to M do begin
if (abs(sin(X))>=A) and (abs(sin(X))<=B) then
F[i,j]:=sqrt(abs(sin(X-exp(Y[j])))) else
F[i,j]:=3*sin(1-log3(Y[j]));
Write(F[i,j]:6:2);
end;
Writeln;
end;

Writeln;
for j:=1 to M do
begin
S[j]:=0;
for i:=1 to N do
S[j]:=S[j]+F[i,j];
end;
for j:=1 to M do
Write(j:6);
Writeln;
for j:=1 to M do
Write(S[j]:6:2);
Writeln;

Readln;

end.

Блок-схема во вложениях.
 

Вложения

Назад
Сверху