Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ I';我的气泡排序程序显示最大值、最小值和平均值(C+;+;)时出现了几个错误_C++_Arrays_Bubble Sort - Fatal编程技术网

C++ I';我的气泡排序程序显示最大值、最小值和平均值(C+;+;)时出现了几个错误

C++ I';我的气泡排序程序显示最大值、最小值和平均值(C+;+;)时出现了几个错误,c++,arrays,bubble-sort,C++,Arrays,Bubble Sort,我正在为家庭作业编写程序,你应该输入要排序的学生身高,打印最大、最小排序结果和平均值,但我有几个错误,我成功地完成了排序和最大排序,但最小值是错误的,我必须获得数组的平均值,但我还没有弄清楚如何让程序读取用户键入的值。 如果有人设法帮助我,我将非常感激 #include <iostream> #include <conio.h> #include <stdio.h> #include <stdlib.h> float average (

我正在为家庭作业编写程序,你应该输入要排序的学生身高,打印最大、最小排序结果和平均值,但我有几个错误,我成功地完成了排序和最大排序,但最小值是错误的,我必须获得数组的平均值,但我还没有弄清楚如何让程序读取用户键入的值。 如果有人设法帮助我,我将非常感激

#include <iostream>
#include <conio.h>
#include <stdio.h> 
#include <stdlib.h>

    float average (float ave1, float ave2, float ave3, float ave4, float ave5, float ave6, float ave7, float ave8, float ave9, float ave10)
    {
        float result = 0;
        result = ((ave1 + ave2+ ave3 + ave4 + ave5 + ave6 + ave7 + ave8 + ave9 + ave10) /10);
        result (result);
    }
//This is my failed attempt to code the average array
int main() {
    float height[10];
    float max = 0;
    float min = 0;

    int i, j;

    for (i = 0; i < 10; i++)
    {
        cout << "What's student " << i + 1 <<" height?" << endl;
        cin >> height [i];
    }

    max = min = height[0];

    for (i = 0; i < 10; i++) //Bubble Sort
    {
        for(j = 0; j < 9; j++)
        if (height[j] > height [j+1])
        {float temp;

                temp = height [j];
                height [j] = height [j+1];
                height [j+1] = temp;
            if (height [i] < min)
            {
                min = height [i];
            }
            if (height [i] > max)
            {
                max = height [i];
            }
    }
    }
    height [i] = ave1 = ave2 = ave3 = ave4 = ave5 = ave6 = ave7 = ave8 = ave9 = ave10 ;

    cout << "The tallest student's height is: " << max << " feet" << endl;
    cout << "The shortest student's height is: " << min << " feet" << endl;
    cout << "Sorted heights are: ";
    for (i = 0; i < 10; i++)
    {
        cout << height [i] << "; ";
    }
    cout << "Height average: " << endl;
    cout << average;

    return 0;
}
#包括
#包括
#包括
#包括
浮动平均值(浮动ave1、浮动ave2、浮动ave3、浮动ave4、浮动ave5、浮动ave6、浮动ave7、浮动ave8、浮动ave9、浮动ave10)
{
浮动结果=0;
结果=((ave1+ave2+ave3+ave4+ave5+ave6+ave7+ave8+ave9+ave10)/10);
结果(result);
}
//这是我对平均数组进行编码的失败尝试
int main(){
浮动高度[10];
浮动最大值=0;
浮动最小值=0;
int i,j;
对于(i=0;i<10;i++)
{

cout按照升序对数字列表进行排序后,最小值是列表的第一项,最大值是列表的最后一项,因此排序后的最小值=高度[0],最大值=高度[9]

  • 在代码中删除以下行:

      if (height [i] < min)
        {
            min = height [i];
        }
        if (height [i] > max)
        {
            max = height [i];
        }
    
    加:

  • 替换此行:

    height [i] = ave1 = ave2 = ave3 = ave4 = ave5 = ave6 = ave7 = ave8 = ave9 = ave10 ;
    
    作者:


    <代码> >(i=0),当你还没有找出如何从用户那里获得输入时,你是如何排序和最大化的?(从C++中获得用户的输入,BTW,这里已经被多次询问和回答,这将为你找到一点搜索。)如果你能做到最大,你就应该能得到最小——恰恰相反。是的,用户在第一个“for”上输入高度循环询问学生的身高,问题是当它打印最小值时,它并不总是最小的数字,例如,如果你输入1.40和1.41,它的最小值是1.41,其中1.40应该是正确答案否,你不会得到
    1.41
    作为最小值,因为
    我也不认为这行
    八[一]=ave1=ave2=ave3=ave4=ave5=ave6=ave7=ave8=ave9=ave10;
    也做你认为它做的事。你可能想仔细阅读你的代码。我想我还没有说清楚。当我输入5个不同的高度时,有时程序不会选择正确的答案,我已经知道1.41不是最小值,但程序还是选择了它ay(而不是例如1.40)
    float acum=0;
    
    height [i] = ave1 = ave2 = ave3 = ave4 = ave5 = ave6 = ave7 = ave8 = ave9 = ave10 ;
    
     for(i=0;i<10;i++)
         acum+=height[i];
    
     min=height[0];
     max=height[9];
    
     cout << average;
    
     cout<< acum/10;