kotenokGaw
Удален
|
Это опять я! Не работает у меня программа... че делать не знаю... Составить программу для вычисления значения функции z. Если x<y тогда z:=x*amax в противном случае z:=y*bmax, где x это сумма элементов А от 1 до 10, а y сумма элементов b от 1 до 7. Вычисление x, amax, y, bmax оформить в виде процедуры program lab7; uses crt; const size=10; n=size; type mas=array [1..size] of integer; Var x, y: mas; procedure EnterMas (Var x: mas; n: byte); Var i: byte; Begin for i:=1 to n do begin write ('[', i, ']='); readLn (x[ i ]); end; end; procedure EntMas (Var y: mas; n: byte); Var i: byte; Begin for i:=1 to n-3 do begin write ('[', i, ']='); readLn (y[ i ]); end; end; procedure MaxInMassiv (x: mas; n: byte; var аmax: integer); Var i: byte; buf: integer; Begin buf:=x[1]; for i:=2 to n do if buf<x[ i ] then buf:=x[ i ]; аmax:=buf; End; procedure MaxMassiv (y: mas; n: byte; var bmax: byte); Var i: byte; buf: integer; Begin buf:=y[1]; for i:=2 to n do if buf<y[ i ] then buf:=y[ i ]; bmax:=buf; End; begin clrscr; EnterMas(x, 10); EntMas(y, 7); MaxInMassiv(amax); MaxMassiv(bmax); if x<y then z:=x*amax else z:=y*bmax; readkey; end. (Сообщение отредактировал kotenokGaw 28 дек. 2006 21:04)
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 28 дек. 2006 21:02 | IP
|
|
KMA
Долгожитель
|
Блин, kotenokGaw, у тебя компилятор должен был материться неперставая... У тебя n сразу и переменная, и константа. Потом в MaxInMassiv и MaxMassiv вместо трех параметров содержать 1... и тем более, что тебя не устраивало в моем коде?
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 28 дек. 2006 21:20 | IP
|
|
KMA
Долгожитель
|
Вот здесь смотри, основной код. основная часть: BEGIN writeLn ('Massiv A:'); enterMas (a, size); writeLn ('Massiv B:'); enterMas (b, size-3); writeLn ('Z=', z (a, b)) END. Вот и все. Чего мудрить?
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 28 дек. 2006 21:29 | IP
|
|
kotenokGaw
Удален
|
То что мне надо через процедуры, а ты сделал через функции
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 28 дек. 2006 22:48 | IP
|
|
KMA
Долгожитель
|
Это же не проблема, поменяйте заголовок procedure outZ (a, b: mas; Var z: integer); вот в принципе и все. а остальное можно даже не менять, только обращение в теле программы.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 28 дек. 2006 22:52 | IP
|
|
kotenokGaw
Удален
|
Так??? Только же then z:=x*maxInMassiv(a, size) else z:=y*maxMassiv(b, size-3) не может быть так. Я права? const size=10; type mas=array [1..size] of integer; Var a, b: mas; procedure EnterMas (Var x: mas; n: byte); Var i: byte; Begin for i:=1 to n do begin write ('[', i, ']='); readLn (x[ i ]); end; End; procedure EntMas (Var y: mas; n: byte); Var i: byte; Begin for i:=1 to n-3 do begin write ('[', i, ']='); readLn (y[ i ]); end; End; procedure Max (x: mas; n: byte; var MaxInMassiv:integer); Var i: byte; buf: integer; Begin buf:=x[1]; for i:=2 to n do if buf<x[ i ] then buf:=x[ i ]; MaxInMassiv:=buf; End; procedure MaxMassiv (y: mas; n: byte; var MaxMassiv: integer); Var i: byte; buf: integer; Begin buf:=y[1]; for i:=2 to n do if buf<y[ i ] then buf:=y[ i ]; MaxMassiv:=buf; End; procedure outZ (a, b: mas; Var z: integer); Var i, j, x, y: integer; Begin x:=0; for i:=1 to size do x:=x+a[ i ]; y:=0; for j:=1 to size-3 do y:=y+b[ i ]; if x<y then z:=x*maxInMassiv(a, size) else z:=y*maxMassiv(b, size-3) End; BEGIN writeLn ('Massiv A:'); enterMas (a, size); writeLn ('Massiv B:'); entMas (b, size-3); writeLn ('Z=', z (a, b)) END.
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 28 дек. 2006 23:34 | IP
|
|
KMA
Долгожитель
|
блин, я тебе на странице 70 написал функцию определения максимального элемента в массиве, а ты что сделала? Может, если писать как у меня. Слушай, ты вообще хоть чего-нибудь понимаешь, то, что я тебе пишу? Если нет, тогда лучше напиши все сама, и не парься, может кто другой тебе поможет. Честное слово, я тебе написал всю прогу, тебе нужно всего лишь написать перекопировать, то что я тебе написал из нескольких мест в одно. при этом заменть 1) procedure outZ (a, b: mas; Var z: integer); НИЧЕГО НЕ МЕНЯЯ БОЛЬШЕ. 2) вместо writeLn ('Z=', z (a, b)) написать outZ (a, b, z) writeLn ('z=', z); Все больше ничего менять не надо. Я больше на твои вопросы не отвечаю, меня достала твое желание меня не понимать.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 28 дек. 2006 23:41 | IP
|
|
Guest
Новичок
|
Помогите пожалуйста, не умею решать информатику, а очень нужно. Горит экзамен. Составить программу вычисления функции (циклический вычислительный процесс с разветвлением) Напишите на мыло если можете помочь. alvikagal@mail.ru
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 30 дек. 2006 1:35 | IP
|
|
KMA
Долгожитель
|
очень содержательное сообщение. А можно условие вслух пожалуйста.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 30 дек. 2006 1:38 | IP
|
|
Hadj
Удален
|
пожалуйста кто нибудь скажите мне в какой среде вообще этот паскаль работает?
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 8 янв. 2007 18:04 | IP
|
|
|