当我在地图中使用对作为关键时,我试图获得对的第一和第二元素.为了更好地澄清,请参阅下面的代码.这是我试过的
#include <bits/stdc++.h>
using namespace std;
int main()
{
// your code goes here
map<pair<int,int>,int>mp;
int n;
cin>>n;
int a[n];
for(int i=0;i<n;++i)cin>>a[i];
int y=0;
for(int i=0;i<n;++i)
{
mp.insert(make_pair(y,a[i]));
y=a[i]+1;
}
int m;
cin>>m;
int q[m];
for(int i=0;i<m;++i)cin>>q[i];
for(int i=0;i<m;i++)
{
int temp=q[i];
for(map<pair<int,int>,int>::iterator it=mp.begin();it!=mp.end();++it)
{
if(((it->first)<=temp)&&((it->second)>=temp))
cout<<mp->second<<endl;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想在这里获得关键的第一和第二要素.我怎么能这样做?
我刚刚在我的Windows 8.1中安装了codelite.它显示错误
Debugger exited with the following error string:
"No executable
specified,use 'target exec'"
Run Code Online (Sandbox Code Playgroud)
我搜索并发现了这个(另一个stackoverflow问题)我做的和那里提到的一样,但没有什么对我有用.我创建了一个新项目并选择了Simple executable(g ++)和GNU调试器作为默认调试器.任何人都可以帮助我.它还显示"程序退出并返回代码:4199040".
我已经在我的Windows 8.1中安装了Code :: Blocks 13.12,但是在运行时在命令行中粘贴输入(我认为它被称为命令行)似乎不起作用.我必须输入整个输入才能获得输出.可以有谁告诉我如何解决这个问题?
PS: - 我已经绑定了ctrl + V以及右键单击并粘贴,但在我的情况下没有任何实际工作.
在解决练习题之后,我总是看着Red Coder的解决方案.今天我看到了一个我从未见过的阵列声明.他宣称阵列是这样的
char a[' '],b[' '];
Run Code Online (Sandbox Code Playgroud)
请让我知道它是什么?
PS-这可能是重复的问题.我实际上尝试搜索它但找不到任何关于它的东西(可能是因为我不知道该找什么),如果它是重复的请关闭问题并给我一个链接.
有什么区别:
long long int flag=n-1; and long long int flag(n-1);
Run Code Online (Sandbox Code Playgroud)
这些东西是一样的吗?我已经看到了后一段时间,但对它没有正确的认识.
我发现人们建议不要使用strlen(),理由是它的时间复杂度不是O(1)。比我应该在字符数组中使用什么来知道良好时间复杂度的大小,除了
s[i]!='\0'
Run Code Online (Sandbox Code Playgroud)