小编gsd*_*sdf的帖子

在 C++ 中对向量对进行排序

#include "bits/stdc++.h"
using namespace std;
int main()
{
int i,j;
vector< pair<int,int> > v;

    v.push_back(make_pair(4,2));
    v.push_back(make_pair(1,3));
    v.push_back(make_pair(5,4));

sort(v.begin(), v.end());

for(i=0;i<v.size();i++)
    cout<<v[i].first<<" "<<v[i].second<<endl;
}
Run Code Online (Sandbox Code Playgroud)

上述代码的输出是——

1 3 
4 2
5 4
Run Code Online (Sandbox Code Playgroud)

从输出中我们可以看到sort函数已经对 v[i].first 进行了排序,但是如果我们只想对 v[i].second 进行排序或者如果我们想对它们两者进行排序,那么如何完成任务呢?

c++ sorting vector std-pair

4
推荐指数
1
解决办法
2853
查看次数

c ++中getline输入错误

嗨,伙计们,我在从 getline 获取输入时遇到未知错误。我的目的是从用户那里获取一个数字和两个字符串作为输入并打印第一个字符串。这是问题代码

#include <iostream>
using namespace std;

int main() {
  int t;
  cin>>t;
  while(t--)
   {    string s,p;
        getline(cin,s);
        getline(cin,p);
        cout<<s;
   }
  return 0;
  }
Run Code Online (Sandbox Code Playgroud)

现在,当我提供如下输入时:

1
abababa abb
b
Run Code Online (Sandbox Code Playgroud)

它不打印任何东西。为什么会这样?

c++ getline

1
推荐指数
1
解决办法
8131
查看次数

立方体根代码中的错误

我正在编写一个程序来检查给定的数字是否有一个整数的立方根.这是我的代码: -

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

int main(int argc, char const *argv[])
{
  double m;
  int c=0;
  int i;
  for(i=2;i<=1000000;i++)
  { 
     m = pow(i,(1./3.));
     if(m-(int)m == 0)
     {
        c++;
     }
  }
  cout<<c<<endl;
}
Run Code Online (Sandbox Code Playgroud)

这里c存储具有整数立方根的数字的数量.我的代码的问题是它总是给出两个作为答案,而答案应该大于两个,因为有许多数字,如8,64,27 ....

我想知道为什么我得到两个结果,我无法捕捉到这个错误!!

c++ debugging

0
推荐指数
1
解决办法
139
查看次数

标签 统计

c++ ×3

debugging ×1

getline ×1

sorting ×1

std-pair ×1

vector ×1