我的C 程序不起作用
My C++ program is not working ...just got stuck in this dont know what to do
我想从用户中获取值并想对其进行排序...所以我在字符串数组中的两个数组中取值,另一个在int array中...如果我排序字符串数组的排序很好。.我无法相应地对int数组进行排序。...但是它仍然无法正常工作...我希望你们能帮助
所以我搜索了NET,并尝试使用STL
中的对功能void sortItems(char array[][10],int y[],int n){
pair<char,int>pairt[n];
for (int i = 0; i < n; i++)
{
pairt[i].first = array[i][10];
pairt[i].second = y[i];
}
char t[20];
int i,j,k,p=1;
for(i=1; i<=n; i++)
{
for(j=1; j<11; j++)
{
if(strcmp(pairt[j-1], pairt[j])>0)
{
strcpy(t, pairt[j-1]);
strcpy(pairt[j-1], pairt[j]);
strcpy(pairt[j], t);
p=i;
}
}
}
std::cout<<"Dokemon in alphabetical order : n";
for(i=1; i<=n; i++)
{
std::cout<<array[i]<<endl;
}
}
[error]不能将'std :: pair'转换为'const char*'for参数'1'到'int strcmp(const char*,const char*('
m获得这种类型的4个错误
这是一个完整的解决方案。我使用了字符串和数字的临时向量,但是您可以将它们作为参数传递。以下代码使用C 11功能:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
#include <algorithm>
void main()
{
auto nums = vector < int > {1, 2, 3, 4, 5};
auto words = vector < string > {"hello", "world", "apples", "oranges", "bananas"};
// collect into pairs
using MyPair = pair<string, int>;
vector<MyPair> pairs;
for (size_t i = 0; i < nums.size(); i++) pairs.push_back(make_pair(words[i], nums[i]));
// sort in place the pairs according to the words
std::sort(pairs.begin(), pairs.end(), [](MyPair p1, MyPair p2) {return p1.first < p2.first; });
// re-write original vectors
for (size_t i = 0; i < nums.size(); i++) {
nums[i] = pairs[i].second;
words[i] = pairs[i].first;
}
// now print and check
for (size_t i = 0; i < nums.size(); i++) {
cout << words[i] << ", " << nums[i] << endl;
}
}
首先,我创建两个向量。接下来,我将它们收集成对。为此,我将一个别名用于一对代码和我也不使用合格的名称空间,除了算法库(。另外,我应该在匿名函数中使用const pair &
,但是在这种情况下,我对简短代码的重量更大。
(顺便说一句,C 14甚至会让您使用auto p1, auto p2
。但是我使用了Visual Studio 2013不支持它(这就是为什么我可以将main()
称为CC_3。G 不会让您摆脱困境。..((
随后出现分类功能,具有lambda(或匿名(函数,该功能在每2对的字符串之间进行比较。
最终我将成对分配给两个向量。我希望这可以更好地了解分类对的方法,并且通常使用C 。
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- sigwait() 在多线程程序中不起作用
- 为什么使用数组元素查找最大数字的程序不起作用?
- C++实用程序::转换在静态链接库中不起作用
- Cuda 基本程序 (将值写入矩阵和 std:cout 不起作用) ;主功能不启动
- 视窗 10 :笔(手写笔)在 MFC 应用程序上不起作用
- win32 滚动条在 C/C++ 程序中不起作用
- 用于拆分空格字符串的程序不起作用
- 反转一个数字程序不起作用,为什么?
- C++ 程序在代码块 IDE 中不起作用
- 该程序将.csv文件中的一系列单词放入数组中,然后随机生成句子.但它不起作用
- 程序在CLion IDE中工作,但exe不起作用
- Opencv在2013年第5季度不起作用.应用程序总是在窗口中崩溃
- C++从句子中删除给定字符的程序不起作用
- C ++ GCC 内联程序集似乎不起作用
- 为什么当我选择>250000个采样点时,程序不起作用?
- 任务计划程序库的预处理不起作用 - 多定义错误
- C 为什么我的程序循环和"if-statements"不起作用?
- try() 和 catch() 不起作用;程序崩溃,从不执行 catch() 块
- Cin 执行不起作用 (程序.exe <文件与数据.txt)