Информатика, вопрос задал pervak9991 , 8 лет назад

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

#include<iostream.h>

int main ()

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

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

Ответы на вопрос

Ответил BrightOne
0
По мнению авторитетного GCC, C++ считает, что 0 % 3 = 0.
Либо добавить нулевой элемент вручную, либо же заполнять массив, начиная с единицы.
Ответил pervak9991
0
Спасибо большое.
Ответил Аноним
0
А что удивляет? Вы рассматриваете элементы с номерами, не кратными 3. Операция нахождения остатка от целочисленного деления при делении нуля на n всегда дает ноль, поэтому ноль получается кратен любому числу.
Вы рассматриваете элементы с индексами 1,2,4,5,7,8,10,11,13 - всего 9 элементов.
И да - при таком условии элемент с нулевым индексом в эту совокупность элементов не входит.
Новые вопросы