Функции за масиви

Да се напишат функции за работа с масиви, които позволяват следното:

  1. въвеждане на масив от клавиатурата и връщане като резултат на броят въведени елементи
  2. намиране на сумата на елементите на част от масива, при подаден начален и краен елемент
  3. намиране на броят на ненулевите елементи на част от масива, при подаден начален и краен елемент

Самият масив да бъде подаден като глобална променлива.

Публикувано в 10в. Постоянна връзка.

2 Responses to Функции за масиви

  1. kaloyan каза:
     VAR a:array[1..30] of integer;//Декларираме масив, като глобална променлива
    
    function vavejdane:integer;//Въвеждаме елеменрите
    var n,i:integer;
    begin
      write('Broi elementi: '); readln(n);
      writeln('Vavedi elementite: ');
      for i:=1 to n do
        readln(a[i]);
      result:=n;
    end;
    
    function suma_chast:integer;//Намираме сумата на част от масива
    var i,y,z,suma:integer;
    begin
      write('Nachalo: '); readln(y);
      write('Krai: '); readln(z);
      suma:=0;
      for i:=y to z do suma:=suma+a[i];
      result:=suma;
    end;
    
    function nenulevi_elementi:integer;//Намираме броят на ненулежите елементи на част от масива
    var i,y,z,broi:integer;
    begin
      write('Nachalo: '); readln(y);
      write('Krai: '); readln(z);
      broi:=0;
      for i:=y to z do
        if a[i]=0 then broi:=broi+1;
      result:=broi;
    end;
    
    BEGIN
     writeln(vavejdane);
     writeln(suma_chast);
     writeln(nenulevi_elementi);
    readln;
    END.   
    • Данаил каза:

      Калояне, кодът по принцип е верен, но е по-удачно първия и последния елемент да се въведат в главната програма и да се подават като параметри на функциите. Нали помниш как беше в презентацията – онова, което е нужно на функцията и е специфично за нея, се подава като параметри. Което е общо и за други функции, се указва като глобални променливи. А въвеждане от клавиатурата се прави само ако изрично се изисква в условието на програмата. Защото въвеждането прекъсва кода на изпълнението на програмата и например много последователни обработки са невъзможни. Освен това, ако искаме да извършим няколко изчисления с едни и същи начален и краен елемент – какво, всеки път ще въвеждаме ли едни и същи числа ли?

Вашият коментар