На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
  
> Процедуры и функции
    Помогите доделать задачку... Из данных нужно сделать одну...

    1. В массиве а1, а2, ... а50 определить кол-во нулей.

    2. В массиве d1, d2, ... d35 Найти сумму чисел, расположенных на нечетных местах.

    3. В массиве c1, c2, ... c40 Найти произведение отрицательных чисел.

    4. В массиве b2, b2, ... b45 Найти сумму отрицательных чисел.

    5. В массиве b1, b2, ... b20 Найти кол-во "единиц"

    ....... зарание благодарен.

    ExpandedWrap disabled
               Program Perscagi;
               Uses
                 Crt;
               Const
                 Maxel=50;
               Type
                 mas1i=array[..Maxel] of integer;
               Uses
                  a
                  :mas1i;
                  n
                  :integer;
                  kZero,
                  OddPlace,
                  ked
                  : byte;
                  SumofNed,
                  MultOfNed
                  : longint;
               Procedure InitMas (num:integer; var mas:mas1i);
               Var
                 i:=integer;
               begin
                 for i:=1 tu num do
                   begin
                     mas[i]:=random(18)-5;
                     if mas[i]=-5
                     then
                       mas[i]:=0
                   end;
               end;
               Procedure PrintMas (num:integer; var mas:mas1i);
               var
                 i:integer;
               begin
                 for i:=1 tu num do
                   write(mas[i],'');
                 writeln;
               end;
               Procedure Nuli (num: integer; mas:mas1i; var k0:byte);
               Var
                 i:integer;
               Begin
                 k0:0;
                 for i:=1 to num do
                   if mas[i]=0
                   then
                     k0:=k0+1;
               end;
      {Procedure sumnech;
        Var
        Begin
          for do
      end;
      Procedure proizotr;
        Var
        Begin
          for do
      end;
      Procedure sumotr;
        Var
        Begin
          for do
      end;
      Procedure coledin;
        Var
        Begin
          for do
      end;}}
               Begin
               ClrScr;
               Randomize;
               Write('Размерность массива?');
               Readln(n);
               InitMas(n,a);
               PrintMas(n,a);
               Nuli(n,a,kZero);
               Writeln('Количество нулей: ',kZero);
      {
                  
              Сумма чискл, расположенных на нечетных местах:', ,');
              Произведение орицательных чисел:', ,');
              Сумма отрицательных чисел:', ,');
              Количество "единиц":', ,');}
              ReadKey;
            end.
    Сообщение отредактировано: Никита -
      Никита, в смысле - одну? Вес свести в один цикл, подпрограмму, программу?
        Никита, она ж решена у тебя - только синтаксические ошибки исправить нужно...

        ExpandedWrap disabled
                   Program Perscagi;
                   Uses
                     Crt;
                   Const
                     Maxel=50;
                   Type
                     mas1i=array[1..Maxel] of integer;
                   Var { <--- !!! }
                      a
                      :mas1i;
                      n
                      :integer;
                      kZero,
                      OddPlace,
                      ked
                      : byte;
                      SumofNed,
                      MultOfNed
                      : longint;
                   Procedure InitMas (num:integer; var mas:mas1i);
                   Var
                     i:integer; { <--- !!! }
                   begin
                     for i:=1 to num do { <--- !!! }
                       begin
                         mas[i]:=random(18)-5;
                         if mas[i]=-5
                         then
                           mas[i]:=0
                       end;
                   end;
                   Procedure PrintMas (num:integer; var mas:mas1i);
                   var
                     i:integer;
                   begin
                     for i:=1 to num do
                       write(mas[i],' '); { <--- !!! }
                     writeln;
                   end;
                   Procedure Nuli (num: integer; mas:mas1i; var k0:byte);
                   Var
                     i:integer;
                   Begin
                     k0:=0; { <--- }
                     for i:=1 to num do { <--- !!! }
                       if mas[i]=0
                       then
                         k0:=k0+1;
                   end;
          {
          Procedure sumnech;
            Var
            Begin
              for do
          end;
          Procedure proizotr;
            Var
            Begin
              for do
          end;
          Procedure sumotr;
            Var
            Begin
              for do
          end;
          Procedure coledin;
            Var
            Begin
              for do
          end;
          } { <--- Одна скобка была лишняя }
           
                   Begin
                   ClrScr;
                   Randomize;
                   Write('Размерность массива?');
                   Readln(n);
                   InitMas(n,a);
                   PrintMas(n,a);
                   Nuli(n,a,kZero);
                   Writeln('Количество нулей: ',kZero);
          {
                  Сумма чискл, расположенных на нечетных местах:', ,');
                  Произведение орицательных чисел:', ,');
                  Сумма отрицательных чисел:', ,');
                  Количество "единиц":', ,');
          }
                  ReadKey;
                end.
          ExpandedWrap disabled
            Procedure sumotr (num: integer; mas:mas1i; var sum:integer);
                     Var
                       i:integer;
                     Begin
            sum:=0;
                       for i:=1 to num do
                         if mas[i]<0
                         then
                           sum:=sum+mas[i];
                     end;
            Procedure proizotr (num: integer; mas:mas1i; var pr:integer);
                     Var
                       i:integer;
                     Begin
            pr:=1;
                       for i:=1 to num do
                         if mas[i]<0
                         then
                           pr:=pr*mas[i];
                     end;


          Добавлено
          ExpandedWrap disabled
            Procedure coledin (num: integer; mas:mas1i; var k0:byte);
                     Var
                       i:integer;
                     Begin
                       k0:=0;
                       for i:=1 to num do
                         if mas[i]=1
                         then
                           k0:=k0+1;
                     end;


          Добавлено
          ExpandedWrap disabled
            Procedure sumnech(num: integer; mas:mas1i; var sum:integer);
                     Var
                       i:integer;
                     Begin
            sum:=0;
                       for i:=1 to num do
                         if mas[i] mod 2 <>0
                         then
                           sum:=sum+mas[i];
                     end;
            Цитата Мяут @
            Никита, в смысле - одну? Вес свести в один цикл, подпрограмму, программу?

            Да чтобы на экран вывадились. Не как по отдельности программы, а все сразу ... у меня е до конца сделана.. помогите собрать ... уже бежать через 15 минут.. в компьютерку :huh:
              Оззя,
              Цитата Никита @
              Сумма чискл, расположенных на нечетных местах:
              ...
              А ты что находишь?
              Цитата Оззя @
              ExpandedWrap disabled
                if mas[i] mod 2 <>0
              ;)
                Спасибо Оззя! :rolleyes: А больше не каких процедур не надо уже?!
                  volvo877
                  :wub:
                  ExpandedWrap disabled
                    if i mod 2 <>0
                    volvo877 Чет я не понил! ? :o
                      Никита
                      Нет, все 5 задач отработаны. Вызовы их только вставь.

                      Добавлено
                      Никита

                      volvo877 указал мне мою ошибку, кот-ю я исправил.
                        Оззя! volvo877! Спасибо огромное! Выручили... :)
                          ;)
                          Сообщение отредактировано: Никита -
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0357 ]   [ 15 queries used ]   [ Generated: 23.04.24, 22:43 GMT ]