Вопрос Считать данные по условию задачи. программирование c++

Регистрация
12 Окт 2013
Сообщения
83
Репутация
1
Спасибо
0
Монет
0
Здравствуйте, уже несколько дней бьюсь и не знаю как считать данные из задачи. Не даётся кол-во элементов. Знаю динамические массивы, но всё безуспешно. Саму задачу решать не нужно, скажите как это считать.
271914320_2f054eca1df0df71df765511094856c2_800.png

 
#include
#include
#include
#include
#include
#include
using namespace std;
struct Digits {
string digits;
Digits() : digits("0") {}
Digits(const string& digits) : digits(digits) {}
string get() const {
return digits;
}
private:
friend bool operator==(const Digits& a, const Digits& b) {
const auto x = a.digits.front();
auto compare = [x](char y) { return x == y; };
return all_of(a.digits.begin(), a.digits.end(), compare)
&& all_of(b.digits.begin(), b.digits.end(), compare);
}
friend bool operator token) digits.push_back(token);
inp.close();
sort(digits.begin(), digits.end(), greater());
stringstream ss;
for (const auto& token : digits) ss
 
чё щщитать то?
число которое начинается с самой высокой цифры будет приоритнее чем остальные, его пихаешь в начало, так и достраиваешь выходное число
 
Для решения задачи необходимо объединить все строки в одну и отсортировать ее по убыванию. Затем полученную строку нужно вывести.
Код на Python: #include
#include
#include

using namespace std;

int main() {
vector A;
string s;
while(cin >> s) {
A.push_back(s);
}
for(int j = A.size()-1; j >= 0; --j) {
for(int i = 0; i < j; ++i) {
if (A[i+1]+A > A+A[i+1]) {
swap(A,A[i+1]);
}
}
}
for(int j = 0; j < A.size(); ++j) {
cout
 
Это просто строки, не нужно никакой длинной арифметики...

int main()
{
vector&lt;string&gt; A;
string s;
while(cin &gt;&gt; s) A.push_back(s);
for(int j = A.size()-1; j &gt;= 0; --j)
for(int i = 0; i &lt; j; ++i)
if (A[i+1]+A &gt; A+A[i+1])
swap(A,A[i+1]);
for(int j = 0; j &lt; A.size(); ++j)
cout &lt;&lt; A[j];
}
 
Назад
Сверху