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

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

Войти
Регистрация
Восстановить пароль
 
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
#1

Функция перевёртыш - C++

04.10.2011, 18:44. Просмотров 649. Ответов 10
Метки нет (Все метки)

Напишите функцию, которая принимает целое значение и возвращает число с обратным порядком чисел.
Например ввели: 123, на выходе будет 321
Нашёл в интернете решение: нужно использовать функцию reverse из algorithm
Код:
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
// reverse algorithm example
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
 
int main () {
  vector<int> myvector;
  vector<int>::iterator it;
 
  // set some values:
  for (int i=1; i<10; ++i) myvector.push_back(i); // 1 2 3 4 5 6 7 8 9
 
  reverse(myvector.begin(),myvector.end());       // 9 8 7 6 5 4 3 2 1
 
  // print out content:
  cout << "myvector contains:";
  for (it=myvector.begin(); it!=myvector.end(); ++it)
    cout << " " << *it;
 
  cout << endl;
 
  return 0;
}
Но ибо я до векторов ещё не доходил и прошел только управляющие конструкции и функции
Переделайте пожалуйста под простую функцию
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2011, 18:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция перевёртыш (C++):

Функция sqrt: существует более одного экземпляра. Функция перегруженная - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; int main(){ float s, p; int c, a; s=0; ...

Функция удаления текста в скобках [2], непосредственно функция + 12кб вложений - C++
Доброго времени суток, случилось так, что пришлось работать с с-строками (лаба, угу), в которой нужно удалить весь текст в скобках,...

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() - C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()

Чистая виртуальная функция функция не имеет оператора переопределения - C++
Пишу программу для записи заметок. Есть 2 класса: Page и Note. Note наследуется от Page. Page.h #pragma once ...

что за функция такая strstr? или это не функция? - C++
void search(sp *list){ sp *prt = list; char f,r; cout&lt;&lt;Rus(&quot;введите текст&quot;)&lt;&lt;endl; cin&gt;&gt;f; cout&lt;&lt;Rus(&quot;введите выходной...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.10.2011, 18:46 #2
C++
1
2
3
4
5
6
7
8
9
10
long Inverse(long a)
{
   long b = 0;
   while(a)
   {
      b = b*10 + a%10;
      a /= 10;
   }
   return b;
}
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
04.10.2011, 18:48  [ТС] #3
Прокомментируйте цикл пожалуйста каждую строчку, а то что-что мутно как то
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.10.2011, 18:51 #4
Цитата Сообщение от TBIKC Посмотреть сообщение
Прокомментируйте цикл пожалуйста каждую строчку, а то что-что мутно как то
Например, a=245; b=0.
b = 0*10+5=5; a=24;
b=5*10+4=54; a=2;
b=54*10+2+542; a=0
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
04.10.2011, 18:56  [ТС] #5
Честно говоря я не понимаю что такое сдесь a%10 и как это тут работает )

a /= 10; Эквивалентно а = а / 10 как я понял
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.10.2011, 19:05 #6
Цитата Сообщение от TBIKC Посмотреть сообщение
Честно говоря я не понимаю что такое сдесь a%10 и как это тут работает )
a%10 - остаток от деления на 10, то есть последняя цифра числа
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
04.10.2011, 19:28  [ТС] #7
Всё разобрался, только вот 1 вопросик
Когда мы вычисляем а мы делим его на 10 например 245, остаёться 24 а остаток не приписываеться разве к этому значению ?
И условие какое то странное реализовал на компьютере и ничего не выводит
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.10.2011, 19:40 #8
Цитата Сообщение от TBIKC Посмотреть сообщение
Всё разобрался, только вот 1 вопросик
Когда мы вычисляем а мы делим его на 10 например 245, остаёться 24 а остаток не приписываеться разве к этому значению ?
И условие какое то странное реализовал на компьютере и ничего не выводит
245/10 = 24
245%10 = 5

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
long Inverse(long a)
{
   long b = 0;
   while(a)
   {
      b = b*10 + a%10;
      a /= 10;
   }
   return b;
}
int main()
{
   printf("%d\n", Inverse(245));
   return 0;
}
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
04.10.2011, 19:46  [ТС] #9
А как на С++ написать чтобы int inverse(123); выводила ? с помощью cout
Хотя в функции return же есть

Ах ну да невнимательно видать читал про деление
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.10.2011, 20:02 #10
Цитата Сообщение от TBIKC Посмотреть сообщение
А как на С++ написать чтобы int inverse(123); выводила ? с помощью cout
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
long Inverse(long a)
{
   long b = 0;
   while(a)
   {
      b = b*10 + a%10;
      a /= 10;
   }
   return b;
}
int main()
{
   std::cout << Inverse(245);
   return 0;
}
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
04.10.2011, 20:11  [ТС] #11
ТАк то я попробовал писать так
У меня ошибка пишет не определённый идентификатор на функции

Добавлено через 13 секунд
Разобрался, писал с маленькой буквы ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2011, 20:11
Привет! Вот еще темы с ответами:

Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов - C++
Write программу с использованием класса Вектор (не без помощи форумчанина), но необходимо создать производный класс, в котором реализована...

Функция заполняющая массив и функция вывода массива - C++
Напишите две функции. Первая функция заполняет массив, вторая функция выводит массив на экран

Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива - C++
Есть программа #include &lt;iostream&gt; #include &lt;algorithm&gt; const int N = 5; int handSet(void) { int a; std::cout...

Функция возвращающая абсолютное разницу первого и второго параметров и функция типа int, возвращающая минимальное из трех целых чисел - C++
Разработать заданные согласно условия функции и сделать в главной программе по два вызова этих функций с различными параметрами. Для...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.10.2011, 20:11
Ответ Создать тему
Опции темы

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