147012025-01-28 16:20:27KristófVáltakozó (75 pont)cpp17Forditási hiba
#include <iostream>
#include <string>
#include <map>

using namespace std;
char nbc(map<char,int> kar,char e,char p)
{    
    if(e!=p && p!='~')
        {
        return p;
        }
for(auto x:kar)
    {

    if(x.first!=e)
        {
        return x.first;
        }
    }
    return 'Ö';

}
char sip(map<char,int>kar,int size)
{

for(auto x : kar)
    {
    //cout<<kar.size()<<"       ";
    //cout<<x.second<<" "<<size<<" sip second ";
    if((x.second*2)-1==size)
        {
        return x.first;
        }
    }
    return '~';

}



int main()
{
    string a;
    cin>>a;
    char p='~';
    int m=a.size();
    map <char,int>kar;
    for(int i=0;i<a.size();i++)
        {
        kar[a[i]]++;
        }
    char e='F';
    while(kar.size()!=0)
        {
        if(sip(kar,m)!='~')
            {
            p=sip(kar,m);
            }
        e=nbc(kar,e,p);
        else
            {
            cout<<e;
            kar[e]--;
            m--;
            }
        if(kar[e]==0)
            {
            kar.erase(e);
            }
        }

    return 0;
}
Forditási hiba
open /var/local/lib/isolate/415/box/a.out: no such file or directory
main.cpp:20:12: warning: multi-character character constant [-Wmultichar]
   20 |     return 'Ö';
      |            ^~~
main.cpp: In function 'char nbc(std::map<char, int>, char, char)':
main.cpp:20:12: warning: overflow in conversion from 'int' to 'char' changes value from '50070' to ''\37777777626'' [-Woverflow]
main.cpp: In function 'int main()':
main.cpp:60:9: error: 'else' without a previous 'if'
   60 |         else
      |         ^~~~