Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Турбо Паскаль. Программирование на Pascal
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]
Модераторы: paradise, KMA
  

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

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]

Форум работает на скрипте © Ikonboard.com