Предмет: Информатика,
автор: mikimouse9
Написать программу на С++
Приложения:
Ответы
Автор ответа:
0
#include <iostream>
#include <string>
using namespace std;
int main(){
int n;
cin >> n;
string s = to_string(n);
swap(s[0], s[s.length() - 1]);
n = stoi(s);
cout << n << endl;
return 0;
}
DigitalAnnihilator:
валидации ввода тоже нет, если первыми символами будут не цифры на выходе будет 0
Согласен, что можно быстрее, но так писать меньше. В самом условии не говориться, что число вводится, или откуда-то получается, оно просто есть и уже лежит в переменной, а ввод и вывод числа - это просто моё, возможно даже не нужное добавление. К тому же, по условию число натуральное, значит вначале не может стоять знак минус, остался только плюс, но в С++ при считывании числа "+5" в переменную типа int попадает просто 5, а значит программа работает корректно
Попробуйте ввести не +5, а f5c
У вас нет валидатора ввода, либо удалите ввод и действительно дефайните переменную, либо пишите валидатор, это очень просто
Можно проще написать программу? Даже если она будет длиннее, это не важно
Конечно можно, если не даже НУЖНО, друго вопрос, что ответ отмечен как лучший и больше тут решений невозможно добавить.
хм я не отмечала что ответ лучший, давайте новое задание создам
https://znanija.com/task/30481170
Привет, ответ написал, как я и говорил, работает он быстрее. Назвал переменные так что ты должен понять что к чему. Если есть вопросы - пиши в коменты.
На счет скорости работы:
Реализация из этого решения, на 40% медленнее реализации из моего, в среднем. Дело в том, что тут слишком медленно работают преобразования типов (string > int, int > string).
Реализация из этого решения, на 40% медленнее реализации из моего, в среднем. Дело в том, что тут слишком медленно работают преобразования типов (string > int, int > string).
Похожие вопросы
Предмет: Геометрия,
автор: sanyaplay08
Предмет: Математика,
автор: pumbazz1234
Предмет: Алгебра,
автор: banchiktima
Предмет: Алгебра,
автор: ученик1077
Предмет: Литература,
автор: ппппппппппп22