Вопрос задан 03.05.2019 в 14:52. Предмет Информатика. Спрашивает Кузьмина Наталья.

Ввести одномерный массив 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" индексом
0 0
Перейти к ответам

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

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

Проблема в данном коде заключается в неправильном использовании оператора инкремента (++). В строке `++s=s+A[i];++k++;++` необходимо заменить на `s=s+A[i]; k++;`.

Исправленный код будет выглядеть следующим образом:

```cpp #include using namespace std;

int main() { int A[14]; int i; float s, k, SrA; for (i = 0; i < 14; i++) { cout << "\nA[" << i << "] = "; cin >> A[i]; } cout << "\tMassiv 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 << "\nSumma = " << s; cout << "\nKolichestvo = " << k; cout << "\nSrA = " << SrA; return 0; } ```

Теперь код должен корректно считать и выводить среднее арифметическое элементов, стоящих на позициях, не кратных трём.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос