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


Ответ
 
Опции темы Опции просмотра
Старый 30.05.2011, 21:27   #1 (permalink)
bastilio
Member
 
Регистрация: 30.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите, пожалуйста, с Паскалем. Процедуры-массивы

Илья Андреев
это ссылка на условие задачи.
А вот,что у меня получилось.
program lab_6;
const N=5;
M=4;
type mass a=array [1..N,1..M] of real=((3.3,2.8,2.91,8.03),(-5.6,1.01,2.25,5.48),
(-5.4,3.08,6.2,4.85),(3.01,21.8,9.4,-51.4),(6.1,8.2,11.4,13.8));
type mass b=array [1..M] of real =(54.1,25.4,-1.01,6.8);
var a,b:real;
Procedure ProcC(a:massA,b:massB,var c:massB);
i,j:integer;
begin
for i:=1 to N do begin
C[i]:=0;
for j:=1 to M do C[i]:=c[i]+a[i,j]*b[j];
end;
begin
ProcC(c);
writeln (c:8:4, ' c ');
end.
bastilio вне форума   Ответить с цитированием

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

Вы можете прочитать схожие топики - это не займет много времени

Двумерные массивы и процедуры PASCAL
Помогите с Паскалем
Помогите с Паскалем
Помогите, пожалуйста, с паскалем
Помогите с Паскалем

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

Получилось, прямо скажем, не очень вразумительно. Сейчас покажу, как надо.
Vladimir_S вне форума   Ответить с цитированием
Старый 30.05.2011, 21:52   #3 (permalink)
bastilio
Member
 
Регистрация: 30.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

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

А надо вот так.
Только просьба: поскольку у Вас по куче ошибок буквально в каждой строке, то внимательно сверьте два кода. Особое внимание - на то, что относится к типам, а что - к константам (у Вас какая-то жуткая мешанина!), на разделители в параметрах процедуры - точка с запятой, а не запятая, на вызов процедуры ну и, пожалуй, на всё прочее .
Код:
program lab_6;
const
 N=5;
 M=4;
type
 mass_a=array [1..N,1..M] of real;
 mass_b=array [1..M] of real;
 mass_c=array [1..N] of real;
const
 a:mass_a=((3.3,2.8,2.91,8.03),(-5.6,1.01,2.25,5.48),
(-5.4,3.08,6.2,4.85),(3.01,21.8,9.4,-51.4),(6.1,8.2,11.4,13.8));
 b:mass_b=(54.1,25.4,-1.01,6.8);

var
 c:mass_c;
 i:integer;

Procedure ProcC(ap:mass_a;bp:mass_b;var cp:mass_c);
var ip,jp:integer;
begin
 for ip:=1 to N do
  begin
   cp[ip]:=0;
   for jp:=1 to M do
    cp[ip]:=cp[ip]+ap[ip,jp]*bp[jp];
  end;
end;

begin
 ProcC(a,b,c);
 For i:=1 to N do
  writeln(c[i]:8:4);
 readln
end.
Если что не понятно - спрашивайте, не стесняйтесь.
Vladimir_S вне форума   Ответить с цитированием
Старый 30.05.2011, 22:17   #5 (permalink)
bastilio
Member
 
Регистрация: 30.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ну вы мастер.
Огромное спасибо,никогда не видел,что б так быстро проги писали)
а вот в конце он ответ в виде одномерного массива же дает да?)
bastilio вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 30.05.2011, 22:21   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Конечно. Так Вы запустите да посмотрите. При этом обратите внимание - размерность массива с равна количеству строк (N) в отличие от массива b (M). Поэтому для с пришлось ввести особый тип.
Vladimir_S вне форума   Ответить с цитированием
Старый 30.05.2011, 22:26   #7 (permalink)
bastilio
Member
 
Регистрация: 30.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

благодарю,все разобрался)
А вы курсовики не делаете?тоже по паскалю,только там посложнее)
если да,то сколько стоит?)
bastilio вне форума   Ответить с цитированием
Старый 30.05.2011, 22:45   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от bastilio Посмотреть сообщение
благодарю,все разобрался)
А вы курсовики не делаете?тоже по паскалю,только там посложнее)
если да,то сколько стоит?)
Извините - коммерцией не занимаюсь. Чем могу - помогаю, причем безвозмездно. Но за большие работы не берусь: своих дел по горло.
Есть тут... один шустрый... периодически вылезает с репликами "стучите в аську - договоримся", поищите - может быть, наткнетесь. Впрочем, не воспринимайте это как рекомендацию.
А вообще - мой Вам совет: беритесь-ка за ум, пока не поздно. Причем за собственный. Чужим - не проживете, особенно в наше время.
Vladimir_S вне форума   Ответить с цитированием
Старый 30.05.2011, 23:02   #9 (permalink)
bastilio
Member
 
Регистрация: 30.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

хорошо,спасибо,постараюсь)
bastilio вне форума   Ответить с цитированием
Ads

Яндекс

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

Опции темы
Опции просмотра

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

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




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

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