|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
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. |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вы можете прочитать схожие топики - это не займет много времени Двумерные массивы и процедуры PASCAL Помогите с Паскалем Помогите с Паскалем Помогите, пожалуйста, с паскалем Помогите с Паскалем |
![]() |
#4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 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. |
![]() |
![]() |
![]() |
#5 (permalink) |
Member
Регистрация: 30.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
Ну вы мастер.
Огромное спасибо,никогда не видел,что б так быстро проги писали) а вот в конце он ответ в виде одномерного массива же дает да?) |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
#6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Конечно. Так Вы запустите да посмотрите. При этом обратите внимание - размерность массива с равна количеству строк (N) в отличие от массива b (M). Поэтому для с пришлось ввести особый тип.
|
![]() |
![]() |
![]() |
#8 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() Цитата:
Есть тут... один шустрый... периодически вылезает с репликами "стучите в аську - договоримся", поищите - может быть, наткнетесь. Впрочем, не воспринимайте это как рекомендацию. А вообще - мой Вам совет: беритесь-ка за ум, пока не поздно. Причем за собственный. Чужим - не проживете, особенно в наше время. |
|
![]() |
![]() |
![]() |
#9 (permalink) |
Member
Регистрация: 30.05.2011
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
хорошо,спасибо,постараюсь)
|
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|