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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
lnter
0 / 0 / 0
Регистрация: 02.12.2008
Сообщений: 11
#1

Написать функцию, которая переворачивает число - C++

02.12.2008, 01:12. Просмотров 2273. Ответов 7
Метки нет (Все метки)

Помогите, пожалуйста с задачкой!
Задачка:
Дано натуральное число n и натуральные числа а1, а2... аn (n < 100). Переделать все данные числа так, чтобы цифры были записаны в обратном порядке (например, на месте 234 - 432, 100 - 1 итд.) В решении использовать функцию, которая данному числу возвращает обратное число, расчеты вести численные!

Т.е. надо написать функцию, которая переворачивает число (например из 765 делает 567)
Водиться n (количество чисел, которые позже будут вводиться и переворачиваться);
for (int i = 0; i < n; i++)
cin >> a;
Потом функция и cout << a;
(по-крайней мере, я так думаю )

Заранее, большое спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2008, 01:12     Написать функцию, которая переворачивает число
Посмотрите здесь:

C++ Написать функцию которая подносит дробовое число х до степени n
C++ Напишите функцию, которая переворачивает строку
Написать функцию, которая возвращает возведённое в степень число... C++
C++ Напишите функцию, 1.которая переворачивает строку 2.вычисления корней квадратного уравнения
C++ Написать и протестировать функцию,которая "переворачивает" строку,передаваемую ей в качестве параметра
Написать функцию, которая переворачивает строку (массива типа char). C++
C++ Написать функцию, которая генерирует случайное число в диапазоне от 0 до A
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
02.12.2008, 10:06     Написать функцию, которая переворачивает число #2
ну вот тебе код, что переворачивает числа, ну а ты уже обвязку сам допиши...
Код
#include <iostream>
using namespace std;
//возведение в степень
int pow10(int num){
  int z = 1;
  for(int i = 0; i < num-1; i++) z*=10;
  return z;
}
//поворот числа
int perevorot(int x){
  char string[25];
  itoa(x, string, 10);
  int i = strlen(string); // длина числа 
  int dev = 0;
  // сам поворот
  while(x%10 != 0){
     dev += (x%10) * pow10(i); 
     i--;
     x/=10;
  }
  return dev;
}
если будут баги, маячь...
lnter
0 / 0 / 0
Регистрация: 02.12.2008
Сообщений: 11
04.12.2008, 18:14  [ТС]     Написать функцию, которая переворачивает число #3
Спасибо большое!
Только вот есть еще одно "но"... Как добиться того, чтобы функция из 100, делала 1, а не 0... =(
Помогите, пожалуйста!
katrisha
10 / 10 / 0
Регистрация: 14.11.2008
Сообщений: 56
05.12.2008, 00:49     Написать функцию, которая переворачивает число #4
Можно как то так, тогда из 100 1 получается
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 "conio.h"
#include "stdio.h"
 
int perevorot(int x);
 
int main() {
    int n, a[100], i, b[100],x;
    printf("Vvedite kol-tvo chisel\n");
    scanf("%d",&n);
    for(i=0;i<n;i++) {
        printf("Vvedite %d chislo\n",i+1);
        scanf("%d",&a[i]); }
    printf("Vvedennie chisla\n");
    for(i=0;i<n;i++)
        printf("%d\n",a[i]);
    for(i=0;i<n;i++) 
     {                
        x=a[i];             
        b[i]=perevorot(x);
     }
    printf("Perevernutie chisla\n");
    for(i=0;i<n;i++) 
        printf("%d\n",b[i]);
    getch();
    return(0);
}
int perevorot(int x){
    int i,d,ost,s=0;
    while (1) 
    {
          d=x/10;
          ost=x-d*10;
          s=s*10+ost;
          if (d==0) break;
          x=x/10;
    }
    return(s);
}
lnter
0 / 0 / 0
Регистрация: 02.12.2008
Сообщений: 11
05.12.2008, 01:22  [ТС]     Написать функцию, которая переворачивает число #5
=(( Мне надо с <iostream>...
а то я не понимаю, что это за scanf("%d",&n);... да и не примут.
Но всё равно, спасибо!
XuTPbIu_MuHTAu
Эксперт С++
2222 / 737 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
05.12.2008, 01:24     Написать функцию, которая переворачивает число #6
lnter,о боже... scanf("%d",&n) это cin >> n;
lnter
0 / 0 / 0
Регистрация: 02.12.2008
Сообщений: 11
05.12.2008, 01:26  [ТС]     Написать функцию, которая переворачивает число #7
а что это за "%d"? =O
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2008, 01:30     Написать функцию, которая переворачивает число
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
XuTPbIu_MuHTAu
Эксперт С++
2222 / 737 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
05.12.2008, 01:30     Написать функцию, которая переворачивает число #8
lnter, просто загугли printf /scanf. Есть подробные описания,это стандартные функции. %d тут указывает,что выводится/вводится целое число типа int.
Yandex
Объявления
05.12.2008, 01:30     Написать функцию, которая переворачивает число
Ответ Создать тему
Опции темы

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