AtCoder Beginner Contest 242のB問題の質問です。(言語はc++)
<問題>
文字列 S が与えられます。S の各文字を並び替えて得られる文字列 S ′
のうち、辞書順で最小のものを出力してください。
<ほかの条件>
・S は英小文字のみからなる長さ 1 以上 2×10^5以下の文字列
<入力>
入力は以下の形式で標準入力から与えられる。
S
<出力>
S の各文字を並び替えて得られる文字列 S ′
のうち、辞書順で最小のものを出力せよ。
<例>
入力がacbなら出力がabcになればいい。
ーーーーーーーーーーーーー以下コードーーーーーーーーーーーーーーー
#include <bits/stdc++.h>
using namespace std;
int main(){
string S;
cin>>S;
string answer = sort(S.begin(),S.end());
cout<<answer<<endl;
return 0;
}
ーーーーーーーーーーーーーーここまでーーーーーーーーーーーーーーー
質問①上記のコードのどこが間違っていますか?エラーコードが以下のように出たのですが意味が分からないです。
./Main.cpp: In function ‘int main()’:
./Main.cpp:8:21: error: conversion from ‘void’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested
8 | string answer = sort(S.begin(),S.end());
| ~~~~^~~~~~~~~~~~~~~~~~~
質問② return 0; の0って何で0なんですか? 自分の知識だと0は返り値だと分かるのですがなぜ0なのかがわかりません。
素人質問ですが、回答よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。