Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 26.12.2008, 00:02   #1 (permalink)
Garold
Новичок
 
Регистрация: 25.12.2008
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль Задача на двумерный массив

Суть задачи:
Текст задачи.doc
Помогите, пожалуйста, с решением, очень надо.
Заранее всем огромное спасибо!
Garold вне форума   Ответить с цитированием

Старый 26.12.2008, 00:02
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Безусловно схожие по содержанию темы вам должны чем то быть полезны

Двумерный массив
Двумерный массив. Задача
Фортран, двумерный массив
Задача в Делфи на работу с таблицами. Двумерный массив

Старый 26.12.2008, 11:54   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Как-то так:

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[i]);
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[i]))>=A) AND (ABS(Sin(X[i]))<=B) THEN
F[i,j]:=SQRT(ABS(Sin(X[i])-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 вне форума   Ответить с цитированием
Старый 26.12.2008, 19:31   #3 (permalink)
Garold
Новичок
 
Регистрация: 25.12.2008
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Огромное спасибо, Vladimir_S! Очень помог!
Garold вне форума   Ответить с цитированием
Старый 12.01.2009, 01:19   #4 (permalink)
Garold
Новичок
 
Регистрация: 25.12.2008
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Я немного преобразовал предложенный Vladimir_S код, но все равно ничего не получилось с выводом данных. Massiv.txt Подскажите, пожалуйста, что еще необходимо сделать, чтобы выполнить задание до конца?
Garold вне форума   Ответить с цитированием
Старый 12.01.2009, 11:13   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Вот (проверено):

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[i]); 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[i]:6:2);
writeln;
for i:=1 to N do begin
write(x[i]:6:2, '|');
for j:=1 to M do begin
if (abs(sin(X[i]))>=A) and (abs(sin(X[i]))<=B) then
F[i,j]:=sqrt(abs(sin(X[i]-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 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 12.01.2009, 19:26   #6 (permalink)
Garold
Новичок
 
Регистрация: 25.12.2008
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Еще раз огромное спасибо, Vladimir_S! Очень выручил.
Garold вне форума   Ответить с цитированием
Старый 15.01.2009, 23:33   #7 (permalink)
Garold
Новичок
 
Регистрация: 25.12.2008
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Подскажите, пожалуйста, как будет выглядеть блок-схема вот этого фрагмента программного кода:

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

Заранее огромное спасибо!
Garold вне форума   Ответить с цитированием
Старый 16.01.2009, 10:15   #8 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Блок-схема
Миниатюры
image001.gif  
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 16.01.2009, 19:25   #9 (permalink)
Garold
Новичок
 
Регистрация: 25.12.2008
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо большое, AlexZir!
Ребята, выручайте! Не могу составить блок-схему вот на этот участок кода:
for j:=1 to M do
Write(j:6);
Writeln;
for j:=1 to M do
Write(S[j]:6:2);
Writeln;
Readln;
Помогите, пожалуйста, с этим "кусочком". Буду очень вам благодарен!
Garold вне форума   Ответить с цитированием
Старый 17.01.2009, 19:10   #10 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Блок-схема похожа на предыдущую, но убран ввод в цикле и добавлен вывод пустой строки (п.с.)
Миниатюры
image001.gif  
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 09:23.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.