Какво пресмята дадения фрагмент от програмата int a(20),s=0 for(int i=0;i<20;i++) if(a(i)<=0) s=s 1

Въпрос

Какво пресмята дадения фрагмент от програмата int a(20),s=0 for(int i=0;i<20;i++) if(a(i)<=0) s=s+a(i); Подточка а)-сумата от елементите на масива а; Б)-сумата от положителните елементи на масива а; в)сумата от неположителните елементи на масива а; Г)-сумата от неотрицателните елементи на масива а;
  • Програмиране

Отговор

Даденият фрагмент от програмата пресмята сумата от неположителните елементи на масива а (вариант в). За да разберем какво точно прави този код, нека да го разгледаме по-подробно: 1. `int a(20),s=0` - тук се декларира масив `а` с 20 елемента и променлива `s`, която ще съхранява сумата от елементите. 2. `for(int i=0;i<20;i++)` - това е цикъл, който ще мине през всички елементи на масива `а`. 3. `if(a(i)<=0) s=s+a(i);` - това е условие, което проверява дали текущият елемент от масива `а` е неположителен (т.е. 0 или отрицателно число). Ако е така, то той се добавя към сумата `s`. ASCII арт илюстрация: ``` ----[ Масив а ]---- [ a[0] ][ a[1] ][ a[2] ]...[ a[17] ][ a[18] ][ a[19] ] Цикълът минава през всеки елемент: [ a[0] ] -> ако е неположителен, добавя се към s [ a[1] ] -> ако е неположителен, добавя се към s ... [ a[19] ] -> ако е неположителен, добавя се към s ```