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

Перевернуть число - C++

Восстановить пароль Регистрация
 
andrew_
12 / 12 / 2
Регистрация: 04.06.2010
Сообщений: 24
20.04.2012, 02:01     Перевернуть число #1
Задача
Вводится последовательность из N целых чисел.
Для каждого числа последовательности вывести новое число, которое выйдет после записи числа в обратном порядке.

я её вроде как сделал, но ругается на
C++ (Qt)
1
2
3
4
5
6
    for(i=n;i<=0;i--)
    {
        tmp=pow(10.0 , j);
        sum=sum+a[i]*tmp;
        j++;
    }

вот полностью код
C++ (Qt)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "stdafx.h"
#include<iostream>
#include<math.h>
#include<locale>
using namespace std;
 
int sfun(int n)
{
    int j=0,i,sum=0,tmp;
    if(n<0) n=n*(-1);
    int p=n;
    for(i=0;;i++)
    {
         if(p!=0 )
         {
             p=p/10;
             j++;
         }
         else break;
    }
    int *a=new int [j];
    for(i=0;i<j;i++)
    {
             a[i]=n%10;
             n=n/10;
    }
    j=0;
    for(i=n;i<=0;i--)
    {
        tmp=pow(10.0 , j);
        sum=sum+a[i]*tmp;
        j++;
    }
    return sum;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    int *a,i,n,t;
    cout<<"Введите количество чисел в последовательности N=";
    cin>>n;
    a=new int [n];srand(0);
    for(i=0;i<n;i++)
    {
        a[i]=rand()%100;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    for(i=0;i<n;i++)
    {
        t=a[i];
        t=sfun(t);
        a[i]=t;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    system("pause");
    return 0;
}
немогу понять в чём ошибка.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
20.04.2012, 02:54     Перевернуть число #2
Цитата Сообщение от andrew_ Посмотреть сообщение
Задача
Вводится последовательность из N целых чисел.
Для каждого числа последовательности вывести новое число, которое выйдет после записи числа в обратном порядке.
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
#include <iostream>
#include <ctime>
#include <cmath>
using namespace std;
 
int getRevNum(int num)
{
    int pwr = 1;
    int val = 1 + num%10;
    while(0 < (num /= 10))
    {
        pwr *= 10;
        val *= 10;
        val += num%10;
    }
    return val - pwr;
}
 
int main()
{
    int i, N, *arr = NULL;
    cout<<"Ener N : ";cin>>N;
    srand(time(NULL));
    arr = new int[N];
    cout<<"Generated array\n";
    for(i = 0; i < N; i++)
        cout<<(arr[i] = rand()%(10*N))<<" ";
    cout<<"\nArray with revers digits in values\n";
    for(i = 0; i < N; i++)
        cout<<getRevNum(arr[i])<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
Миниатюры
Перевернуть число  
andrew_
12 / 12 / 2
Регистрация: 04.06.2010
Сообщений: 24
20.04.2012, 03:03  [ТС]     Перевернуть число #3
Сенк))))
-=ЮрА=-
Заблокирован
Автор FAQ
20.04.2012, 03:15     Перевернуть число #4
Not at all)
Yandex
Объявления
20.04.2012, 03:15     Перевернуть число
Ответ Создать тему
Опции темы

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