Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.85
Армейский Дьявол
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 69
#1

Поменять местами первую и последнюю цифры числа - C++

28.09.2009, 17:51. Просмотров 4516. Ответов 8
Метки нет (Все метки)

Поменять местами первую и последнюю цифры числа. Помогите пожалуйста, а то с C++ вообще никогда не приходилось работать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2009, 17:51     Поменять местами первую и последнюю цифры числа
Посмотрите здесь:

Переставить местами первую и последнюю цифры C++
C++ Первую и последнюю цифры произвольно числа поменять местами
Первую и последнюю цифры произвольно числа поменять местами C++
C++ Поменять первую и последнюю цифры в числе.
Дано число n, переставить первую и последнюю цифры местами! C++
Дано натуральное число n. Переставить местами первую и последнюю цифры числа n C++
Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
28.09.2009, 18:03     Поменять местами первую и последнюю цифры числа #2
топорно, надо оптимизировать, но как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <cmath>
 
using namespace std;
 
void main()
{
  int number, temp;
  int lost, count=0;
 
 cout<<"number:";
 cin>>number;
 if (number>9)
 {
   lost=number%10; number/=10;
 temp=number;
 while (temp>10)
 { temp/=10; count++;}
 
 cout<<"result:"<<lost*pow(10, count+1)+temp<<endl;
 }
 else
   cout<<"result:"<<number<<endl;
 
 
 system("PAUSE");
}
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
28.09.2009, 18:05     Поменять местами первую и последнюю цифры числа #3
Армейский Дьявол, можно так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main(){
  int i = 0;
  char* b;
  cin >> i;
  itoa(i, b, 10);
  i = b[0];
  b[0] = b[strlen(b) - 1];
  b[strlen(b) - 1] = i;
  cout<<b<<endl;
  delete b;
  return 0;
}
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
28.09.2009, 18:14     Поменять местами первую и последнюю цифры числа #4
а память не нужно случаем выделить?
C++
1
char *b= new char[10];
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
28.09.2009, 18:19     Поменять местами первую и последнюю цифры числа #5
TanT, код рабочий... code block сказал, что и так пойдет... хотя конечно ваше замечание даже очень уместно...
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
28.09.2009, 18:40     Поменять местами первую и последнюю цифры числа #6
я бы и не лез со своими замечаниями , но мой вижуал 6 не переварил ваш рабочий код вот и всё. а ваш вариант поизящней будет.
easybudda
Эксперт С++
9440 / 5463 / 925
Регистрация: 25.07.2009
Сообщений: 10,485
28.09.2009, 18:53     Поменять местами первую и последнюю цифры числа #7
Попробовал число менять - неправильно 0 в конце числа обрабатывался. Сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <sstream>
#include <string>
 
using namespace std;
 
/* возвращает число в виде строки с переставленными первой и последней цифрами */
string chDigits(int number){
    stringstream ss;
    string str;
    char c;
    ss << number;
    str = ss.str();
    c = str[0];
    str[0] = str[str.size() - 1];
    str[str.size() - 1] = c;
    return str;
}
 
int main(){
    int num;
    
    while ( 1 ){
        cout << "Enter some number or 0 for exit: ";
        cin >> num;
        if ( !num )
            break;
        cout << chDigits(num) << endl;
    }
    return 0;
}
Dilan
8 / 8 / 1
Регистрация: 26.09.2009
Сообщений: 65
29.09.2009, 09:14     Поменять местами первую и последнюю цифры числа #8
можно комент детальный этих 2 строк?
спасибо

C++
1
2
b[0] = b[strlen(b) - 1];
  b[strlen(b) - 1] = i;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2009, 09:17     Поменять местами первую и последнюю цифры числа
Еще ссылки по теме:

C++ Дано натуральное число л. Переставить местами первую и последнюю цифры этого числа
Переставить местами первую и последнюю цифры заданного числа C++
C++ В трехзначном числе поменять местами первую и последнюю цифры
C++ Поменять местами n-ю и первую цифры числа
C++ Переставить местами первую и последнюю цифры заданного натурального числа

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
29.09.2009, 09:17     Поменять местами первую и последнюю цифры числа #9
Dilan, классическая замена значений через вспомогательную переменную...
Yandex
Объявления
29.09.2009, 09:17     Поменять местами первую и последнюю цифры числа
Ответ Создать тему
Опции темы

Текущее время: 02:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru