2014-09-26 2 views
-5

Я пытаюсь найти среднее значение, и оно работает для первого набора чисел, которые я вводил, но второй набор немного выключен, я предполагаю, что это связано с тем, что я не сбросил массив правильно или мне не удалось сбросить одно из значений в нем.C++ Сбросить массив до нуля

#include <iostream> 
#include <cmath> 
using namespace std; 


int main() { 

    int array [15]; 
    int amount, step, length; 
    double total; 
    step = -1; 
    amount = 0; 
    length = 0; 
    total = 0; 

    cin >> amount; 

    for(int count = 0; count!=amount; count++){ 

     while (array[step] != 0){ 
      step++; 
      cin >> array[step]; 
     } 
     length = step; 

     while (step >= 0){ 
      total = total + array[step]; 
      array[step] = 0; 
      step--; 
     } 
     total = total/length; 
     cout << round(total) << " "; 
     step = -1; 

    } 


    return 0; 

} 

ответ

4
step = -1; 

Первый процесс кода

while (array[step] != 0){ 

производит неопределенное поведение. Первую запись массива следует проиндексировать с помощью 0.

Смежные вопросы