Ввести одномерный массив A из 14 элементов. Определить среднее арифметическое элементов,...

0 голосов
66 просмотров

Ввести одномерный массив A из 14 элементов. Определить среднее
арифметическое элементов, стоящих на позициях не кратных трём.

#include

int main ()

{
int A[14];
int i;
float s, k, SrA;
for (i=0; i<14; i++)<br> {
cout<<"\n A["<<i<<"]=";<br>cin>>A[i];
}
cout<<"\t massiv A";<br> for (i=0; i<14; i++)<br> cout<<"\t "<<A[i];<br>s=0;
k=0;
for (i=0; i<14; i++)<br> if (i%3!=0)
{
s=s+A[i];
k++;
}
SrA=s/k;
cout<<"\n s="<<s;<br>cout<<"\n k="<<k;<br>cout<<"\n SrA="<<SrA;<br>return 0;
}

не считает первый элемент с "0" индексом


Информатика (56 баллов) | 66 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

А что удивляет? Вы рассматриваете элементы с номерами, не кратными 3. Операция нахождения остатка от целочисленного деления при делении нуля на n всегда дает ноль, поэтому ноль получается кратен любому числу.
Вы рассматриваете элементы с индексами 1,2,4,5,7,8,10,11,13 - всего 9 элементов.
И да - при таком условии элемент с нулевым индексом в эту совокупность элементов не входит.

(150k баллов)
0

Ошибочно посчитал что ноль не кратен трем.

0

Отсюда и все проблемы.

0 голосов

По мнению авторитетного GCC, C++ считает, что 0 % 3 = 0.
Либо добавить нулевой элемент вручную, либо же заполнять массив, начиная с единицы.

(7.2k баллов)
0

Спасибо большое.