Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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++ 面临cpp中排序函数的问题_C++_Sorting - Fatal编程技术网

C++ 面临cpp中排序函数的问题

C++ 面临cpp中排序函数的问题,c++,sorting,C++,Sorting,尝试对动态数组sum_数组进行排序,但函数不起作用。如果我不将数组大小设置为1,我的循环也会自动终止。我的声明可能有问题吗 **#include<bits/stdc++.h> #include<algorithm> #include<vector> using namespace std; int main(){ vector <int> sum_array (1); int n; cin>>n; int sum,

尝试对动态数组sum_数组进行排序,但函数不起作用。如果我不将数组大小设置为1,我的循环也会自动终止。我的声明可能有问题吗

**#include<bits/stdc++.h>
#include<algorithm>
#include<vector>

using namespace std;

int main(){

  vector <int> sum_array (1);
  int n;
  cin>>n;
  int sum,marks;
  for (int i = 0; i < 5; i++) {
    cout<<"turn now is ="<<i<<endl;
    sum=0;
    for (int k = 0; k < (n-1); k++) {
    cin>>marks;
    sum=sum+marks;
    cout<<"sum="<<sum<<endl;
    }
  sum_array[i]=sum;
  }
  for (int i = 0; i < 5; i++) {
    cout<<sum_array[i]<<endl;
  }
  sort(sum_array.begin(),sum_array.end());
  cout<<"after"<<endl;
  for (int i = 0; i < 5; i++) {
    cout<<sum_array[i]<<endl;
  }
    return 0;
}**
**#包括
#包括
#包括
使用名称空间std;
int main(){
向量和_数组(1);
int n;
cin>>n;
整数和,马克;
对于(int i=0;i<5;i++){

cout您正在创建一个整数向量:

std::vector<int> sum_array(1);
并将元素推入
总和数组中

sum_array.push_back(sum);    

您正在创建一个整数的向量:

std::vector<int> sum_array(1);
并将元素推入
总和数组中

sum_array.push_back(sum);    

您可以使用一个元素创建
sum\u数组
,然后使用
i
在范围内设置
sum\u数组[i]
(0, 5)没有调整大小。这是未定义的行为。它也意味着“代码>排序< /COD>只考虑一个项目。<代码> SUMYARAMECTON/CODE >给出了一个元素的大小,但是元素被分配为代码< 0 > /代码>到代码> 4 /代码>。分配这样的元素不会隐式地调整大小。相反,您的代码具有未定义的行为。ught vector是一个动态数组,它可以自己折叠起来。如果它向我显示从0到4的元素,这意味着它们是通过调整数组大小来拟合的,那么为什么在我尝试对它们进行排序时它是未定义的。我如何修复它?不要
#include
,你用一个元素创建
sum_数组
,然后设置
sum_数组[i]
i
在范围内(0, 5)没有调整大小。这是未定义的行为。它也意味着“代码>排序< /COD>只考虑一个项目。<代码> SUMYARAMECTON/CODE >给出了一个元素的大小,但是元素被分配为代码< 0 > /代码>到代码> 4 /代码>。分配这样的元素不会隐式地调整大小。相反,您的代码具有未定义的行为。ught vector是一个动态数组,它可以自行折叠。如果它向我显示0到4的元素,这意味着它们是通过调整数组大小来拟合的,那么为什么在我尝试对它们进行排序时它是未定义的。如何修复它?不要包含