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

Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр - C++

Восстановить пароль Регистрация
 
Настя))
 Аватар для Настя))
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 8
10.12.2010, 16:32     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр #1
Ребят..помогите плиззз))вот задачка -не знаю как решить((полазила на форуме нашла похожие,но там без решения(((

Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифру.
В функции main() организовать ввод целого положительного числа, поменять в этом числе первую и последнюю цифру, выдать на экран старое и новое числа, сообщив, изменилось ли значение введенного числа. В вызывающей функции main() организовать контроль ввода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2010, 16:32     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр
Посмотрите здесь:

Составить функцию, которая формирует новое число с обратным порядком цифр по отношению к исходному числу C++
Составить функцию, которая получив значения a,b,c,h вычисляет минимальное значение C++
написать программу которая вводит целое число и определяет сумму его цифр. Использовать функцию вычисления суммы цифр числа C++
C++ Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз
C++ Напишите функцию, получающую целое значение, которая возвращает число с обращенным порядком цифр
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.12.2010, 17:40     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр #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
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
 
int main()
{
    int N, _N = 0, tmp;
    std::cout << "Enter N: ";
    std::cin >> N;
    tmp = N;
    int last_digit = N % 10, first_digit = 0;
    while(tmp)
    {
        first_digit = tmp % 10;
        tmp /= 10;
    }
    tmp = N;
    tmp /= 10;
    _N = tmp * 10 + first_digit;
    tmp = _N;
    _N = 0;
    while(tmp)
    {
        _N += tmp % 10;
        _N *= 10;
        tmp /= 10;
    }
    _N /= 100;
    _N = _N * 10 + last_digit;
    N = 0;
    while(_N)
    {
        N += _N % 10;
        N *= 10;
        _N /= 10;
    }
    N /= 10;
    std::cout << N;
    return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.12.2010, 17:44     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр #3
Немного не честно но все же.

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
32
33
#include <iostream>
#include <sstream>
#include <string>
 
int transform(int a)
{
    std::ostringstream ost;
    ost<<a;
    std::string str=ost.str();
    std::swap(*str.begin(), *(str.end()-1));
    std::istringstream ist(str);
    ist>>a;
    return a;
}
 
int main()
{
    int a;
    std::cout<<"Enter a: ";
    std::cin>>a;
    int tmp=a;
    a=transform(a);
    std::cout<<a<<'\n';
    if(tmp == a)
    {
        std::cout<<"Equals\n";
    }
    else
    {
        std::cout<<"Not equals\n";
    }
    return 0;
}
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
10.12.2010, 17:59     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр #4
Незнаю тут что-то накалякал, но вроде не работает. Может хотя бы на мысль наведу.
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
32
#include <math.h>
 
int f(int n)
{
  int n1, n2, r, k;
  if(n < 10)
    return n;
  /* Нахождение последней цифры */
  n2 = n % 10;
  /* Нахождение первой цифры и количество цифр */
  n1 = n;
  k = 1;
  while(n1 > 10){
    n1 /= 10;
    k++;
  }
  /*!!! Следующие три строчки у меня работали неправильно */
  /* Изменяем последнию и первую цифры числа */
  r = n;
  r = r - (r % 10) + n1;             /* Добавить первую цифру */
  r = r % (int)pow(10, k - 1);
  r = r + (int)pow(10, k - 1) * n2;  /* Добавить последнию цифру */
}
 
int main(void)
{
  int n;
  scanf("%d", &n);
  n = f(n);
  printf("Result: %d", n);
  getch();
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
10.12.2010, 19:48     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр #5
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
32
33
34
35
36
37
38
#include <stdio.h>
#include <conio.h>
int main ()
 
{ int a,i,b,k,c,d,e;
clrscr ();
 
do {
 puts ("Vvedite chislo");
 fflush (stdin);
 k=scanf ("%d", &a);
 
    } while (!k || a<=0);
 
b=a;
for (i=0;b>=10;i++)
b/=10; 
 
b=a;
 
c=b/pow(10,i); // первая цифра
b/=10;
b*=10;
d=a-b;    // последняя цифра
 
b=a;    // замена последней цифры
b-=d; b+=c;
 
 
e=c*pow(10,i);
b-=e; e=d*pow(10,i); b+=e; // замена первой цифры
 
 
printf ("Ishodnoye chislo a=%d\nPoluchennoyoe chiclo b=%d", a,b);
 
system ("Pause");
return 0;
}
Добавлено через 33 минуты
но я бы для себя делал лучше
с начало преобразовал число в символьную строку
затем выполнил необходимые преобразование
и потом бы преобразовал полученную символьную строку в число
Вам так подойдет??!
Настя))
 Аватар для Настя))
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 8
12.12.2010, 17:16  [ТС]     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр #6
Спасибо большое ребят))))=*
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
12.12.2010, 17:27     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int Transform(int n) {
  std::string s = boost::lexical_cast<std::string>(n);
  
  std::swap(s[0], s[s.length() - 1]);
  
  return boost::lexical_cast<int>(s);
}
 
int main() {
  std::cout << Transform(12345) << std::endl;
  
  return 0;
}
Результат: http://liveworkspace.org/code/ad8fc1...e8dd17289cb410
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2010, 20:09     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр
Еще ссылки по теме:

Написать функцию, которая складывает первую и последнюю строки квадратного массива и записывает результат в первый столбец C++
C++ Написать и протестировать функцию, которая преобразует строку шестнадцатеричных цифр в эквивалентное ей целое десятичное число
Написать и протестировать функцию , которая преобразует строку двоичных цифр в эквивалентное ей целое число C++

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

Или воспользуйтесь поиском по форуму:
Настя))
 Аватар для Настя))
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 8
12.12.2010, 20:09  [ТС]     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр #8
)))))=*
Yandex
Объявления
12.12.2010, 20:09     Составить функцию, которая, получив любое целое число, преобразует его, поменяв в нем первую и последнюю цифр
Ответ Создать тему
Опции темы

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