标题:看不懂编译器给的错误
只看楼主
frafish
Rank: 1
等 级:新手上路
威 望:1
帖 子:4
专家分:0
注 册:2019-7-19
结帖率:100%
已结贴  问题点数:20 回复次数:2 
看不懂编译器给的错误
这是我的code:
题目出处:https://zerojudge.tw/ShowProblem?problemid=c044


#include<iostream>
using namespace std;
void fn_a( int& times, int& finish )
{
    int maxv=0;
    char alpha[26]{ 'A','B','C','D','E','F','G','H','I','J','K','l','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' };
    for( int i=0; i<26; ++i )
        if( maxv<times[i] ) maxv=times[i];
    for( int i=0; i<26; ++i ){
        if( times[i]==maxv ) cout << alpha[i] << ' ' << times[i] << endl;
        times[i]=0;
        finish++;
    }
}

int main()
{
    int n;
    while( cin>>n ){
        int times[26];
        for( int i=0; i<26; ++i ) times[i]=0;
        string sum="";
        for( int i=0; i<n; ++i ){
            string s;
            cin >> s;
            sum+=s;
        }
        int length=sum.length()-1;
        for( int i=0; i<length; ++i ) times[sum[i]]++;
        int finish=0;
        while( finish<=26 )
            fn_a( *times, *finish );
    }
    return 0;
}

编译器给的错误是什么意思啊?????!!!!!!

还一直重复出现,估计问题满大的

搜索更多相关主题的帖子: int times for ++i sum 
2019-07-19 21:31
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
void fn_a( int& times, int& finish )
改为 void fn_a( int times[], int& finish )

fn_a( *times, *finish );
改为 fn_a( times, finish );

我按照题意写了一个,没发提交,所以不知道对或错
程序代码:
#include <iostream>
#include <limits>
#include <algorithm>
#include <utility>
using namespace std;

int main( void )
{
    size_t n;
    cin >> n;
    cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' );

    pair<char,size_t> buf[26];
    generate_n( buf, 26, [c='A']()mutable{return make_pair(c++,0);} );

    for( char c; n!=0 && cin.get(c); )
    {
        if( c>='A' && c<='Z' )
            ++buf[c-'A'].second;
        else if( c>='a' && c<='z' )
            ++buf[c-'a'].second;
        else if( c == '\n' )
            --n;
    }

    auto p = remove_if( buf, buf+26, [](const auto& e){return e.second==0;} );
    sort( buf, p, [](const auto& a, const auto& b) {
                      if( a.second > b.second ) return true;
                      if( a.second < b.second ) return false;
                      return a.first < b.first; } );
    for_each( buf, p, [](const auto& e){cout<<e.first<<' '<<e.second<<'\n';} );
}

2019-07-20 11:29
frafish
Rank: 1
等 级:新手上路
威 望:1
帖 子:4
专家分:0
注 册:2019-7-19
得分:0 
回复 2楼 rjsp
你这个也太高级了吧,完全看不懂
2019-07-20 12:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495950-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.624276 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved