Справка по C — кажется, я не могу разобраться в последней части этого кода

#c

#c

Вопрос:

Я пытаюсь заставить программу отображать текущую высоту дочернего элемента и предполагаемую высоту дочернего элемента.

У меня есть отображение before и after для первого дочернего элемента, но я не могу заставить его отображать предполагаемую высоту для остальных дочерних элементов.

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

Вот код, который у меня есть:

 #include <iostream>

using namespace std;

int main()
{
    double height [10];
    double chgHeight [10];

    for (int x = 0; x < 10; x = x   1)
    {
        height[x] = 0.0;
        chgHeight[x] = 0.0;
    }

    cout << "You will be asked to enter the heights of ten children."<< endl;

    for (int x = 0; x < 10; x = x   1)
    {   
        cout << "Enter height of child " << endl;
        cin >> height[x];
    }

    chgHeight[0] = height[0] * .05   height[0];

    for (int x = 0; x < 10; x = x   1)
    {   
        cout << "Child " << x 1 << ": Current " << height[x] << " Expected "<< chgHeight[x] << endl;
    }

    system("pause"); 
    return 0;
}
  

Комментарии:

1. (Если это так, то все в порядке — это должно быть просто помечено как таковое — люди здесь помогут, они просто не собираются делать это за вас.)

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

3. Я добавил к своему ответу, посмотрим, имеет ли это смысл?

Ответ №1:

 chgHeight[0] = height[0] * .05   height[0];
  

Вы устанавливаете только первый дочерний chgHeight .

Редактировать:

Для вашего вывода вы просматриваете массив или высоты, которые индексируются по дочернему номеру ( x ):

 for (int x = 0; x < 10; x = x   1)
{   
    cout << "Child " << x 1 << ": Current " << height[x] 
         << " Expected "<< chgHeight[x] << endl;
}
  

Ваша предполагаемая высота вычисляется исходя из текущей высоты дочернего элемента, которая у вас есть в этом цикле ( height[x] ). Таким образом, у вас есть все необходимое для вывода предполагаемой высоты.

Если вам не нужно сохранять вычисления на потом, то действительно нет необходимости создавать второй chgHeight[] массив в вашем коде; просто вычислите и выведите расчетную высоту в этом цикле для каждого дочернего элемента.

Ответ №2:

Вы не устанавливаете расчетную высоту для остальных дочерних элементов, только для первого:

 chgHeight[0] = height[0] * .05   height[0];
  

Поместите это в цикл.

Ответ №3:

 chgHeight[0] = height[0] * .05   height[0];
  

В этой строке вычисляется только предполагаемая высота первого дочернего элемента. Вам также нужно поместить это в цикл (изменив индексы на вашу переменную цикла), чтобы вычислить все 10.

Комментарии:

1. Я пытался поместить это в цикл, но, должно быть, я все еще делаю что-то неправильно.