14.03.2015, 18:58 | #11 (permalink) |
Новичок
Регистрация: 14.03.2015
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
выдает след.ошибку : Program1.pas(20,1): FOUND'end'EXPECTEDbegin курсор вот здесь Write(A[i,j]:8:3); end; Writeln; end; end; |
14.03.2015, 18:58 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пока вам не дали ответов вы можете полистать аналогичные темы Решение задач по Pascal Решение задач на подпрограммы с рекурсиями, Паскаль ABC |
14.03.2015, 19:22 | #12 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Очень даже объяснимая. Потому что лжеПаскаль АВС - это отвратительное, глючное и гнусное изделие. У себя я эту дрянь не держу. Ладно, попробуйте так:
Код:
Program Blabla; Const Nmax=9; Var N:Integer; A,B:Array[1..Nmax,1..Nmax] of Real; X:Array[1..Nmax] of Real; Y:Real; Procedure Matrix_A; var i,j:Integer; begin for i:=1 to N do begin for j:=1 to N do begin A[i,j]:=(2.2+Sqrt(8.4*i+1)*j)/(Exp(Ln(i*j)*Ln(10))+5); Write(A[i,j]:8:3); end; Writeln; end; end; Procedure Matrix_B; var S:Real; i,j:Integer; begin for i:=1 to N do begin S:=0; for j:=1 to N do S:=S+A[i,j]; for j:=1 to N do begin B[i,j]:=S; Write(B[i,j]:8:3); end; Writeln; end; end; Procedure Vector_X; var i,j:Integer; begin for i:=1 to N do begin X[i]:=0; for j:=N downto 1 do X[i]:=X[i]+Ln(B[i,j]); Write(X[i]:8:3); end; Writeln; end; Procedure Ordering; var i,j,k:Integer; D:Real; begin for i:=1 to N do begin for j:=1 to N-1 do for k:=1 to N-j do if A[i,k]<A[i,k+1] then begin D:=A[i,k]; A[i,k]:=A[i,k+1]; A[i,k+1]:=D; end; end; for i:=1 to N do begin for j:=1 to N do Write(A[i,j]:8:3); Writeln; end; end; Procedure Find_Y; var i:Integer; begin Y:=0; for i:=N-1 downto 2 do Y:=Y+(X[i-1]/X[i]+X[i]/X[i+1]); Writeln('Y = ',Y:0:3); end; Begin Repeat Write('N = '); Readln(N); If N>Nmax then Writeln('N must be < ',Nmax+1,'!'); Until N<Nmax+1; Writeln('Matrix A:'); Writeln; Matrix_A; Writeln; Writeln('Press "Enter" to continue...'); Readln; Writeln('Matrix B:'); Writeln; Matrix_B; Writeln; Writeln('Press "Enter" to continue...'); Readln; Writeln('Vector X:'); Writeln; Vector_X; Writeln; Writeln('Press "Enter" to continue...'); Readln; Writeln('Ordered matrix A:'); Writeln; Ordering; Writeln; Writeln('Press "Enter" to continue...'); Readln; Writeln('Y value:'); Writeln; Find_Y; Readln End. |
14.03.2015, 19:29 | #13 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ой, а вот это - последнее дело: вслепую курочить программу, абсолютно не понимая смысла своих действий! Ну не будете же Вы чинить компьютер путём выкусывания элементов наугад? А чтобы Вам было ясно, в Паскале begin..end - это так называемые "операторные скобки". Вы убрали "begin" - ну так естественно транслятор тут же вопит: "вижу "end", а где от него "begin""?!!
И вообще мой Вам совет: учитесь, разбирайтесь, пока не поздно. А на тупом бездумном скатывании с форумов далеко не уедете. |
14.03.2015, 20:10 | #15 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Заработало? Ну и славно.
Но совет насчет учиться - в силе. Успехов! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|