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

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

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

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

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

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

Первую и последнюю цифры произвольно числа поменять местами - C++
Есть произвольное пятизначное число, которое вводиться с клавиатуры, к примеру 65489. Нужно вывести первую и последнюю цифры и после чего...

Первую и последнюю цифры произвольно числа поменять местами - C++
Есть произвольное пятизначное число, которое вводиться с клавиатуры, к примеру 65489. Нужно вывести первую и последнюю цифры и после чего...

В трехзначном числе поменять местами первую и последнюю цифры - C++
Условие: разработать функцию которая в трехзначном числе меняет местами первую и последнию цифру с++ Разработал функцию, но вот что в...

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

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

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

8
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");
}
0
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 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;
}
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
28.09.2009, 18:14 #4
а память не нужно случаем выделить?
C++
1
char *b= new char[10];
0
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 1
28.09.2009, 18:19 #5
TanT, код рабочий... code block сказал, что и так пойдет... хотя конечно ваше замечание даже очень уместно...
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
28.09.2009, 18:40 #6
я бы и не лез со своими замечаниями , но мой вижуал 6 не переварил ваш рабочий код вот и всё. а ваш вариант поизящней будет.
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
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;
}
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;
0
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 1
29.09.2009, 09:17 #9
Dilan, классическая замена значений через вспомогательную переменную...
0
29.09.2009, 09:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2009, 09:17
Привет! Вот еще темы с ответами:

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

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

Поменять местами n-ю и первую цифры числа - C++
Задание 2. Дано натуральное число. Обозначим через п количество разрядов в числе. Например, 12345: 1 - пятая цифра, 2 - четвертая цифра,...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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