牛客网刷题遇到的问题

描述
数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开

输出描述:
输出合并后的键值对(多行)

示例1
输入
4
0 1
0 2
1 2
3 4
输出
0 3
1 2
3 4
我(编程小白)的代码无法输出结果,想知道沿着我思路的解题方法,我看到题解map什么的,可以列出,但务必帮忙修改我的!谢谢

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int num;
    string val;
    char count[10]={0};
    cin >> num;
    for(int i=0;i<num-1;i++){
        getline(cin, val);
        count[val[0]]+=(int)val[2];
    }
    for(int j=0;j<10;j++){
        if (count[j]!=0){
            cout << j << count[j] << endl;
    }}
    return 0;
}

还有个问题就是我想输出a(空格)b,但按照百度的cout << a << '' << b << endl ,''下面会有红线是为什么?

后来发现题目给了是int型整数,不是字符串。。修改为

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int num;
    int a1, a2;
    int count[10]={0};
    cin >> num;
    for(int i=0;i<num;i++){
        cin >> a1 >> a2;
        count[a1]+=a2;
    }
    for(int j=0;j<10;j++){
        if (count[j]!=0){
            cout << j << " " << count[j] << endl;
    }}
    return 0;
}