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

Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 10:01     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #1
Дано натуральное k. Напечатать k-ю цифру последовательности
24681012141618202224262830..., в которой выписаны подряд все натуральные четные
числа.
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
39
40
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <cmath>
#include <iomanip>
#include <locale>
using namespace std;
 
int main(int)
{
    setlocale(0,"rus");
    int k, l, q=0, p; int n;
    do {
    cout<<"Введите номер цифры К "; cin>>k;
    }
    while (k<=0);
    bool flag=false;
    do{
        n+=2;
        p=n;
        l=0;
        while(p!=0)
        {
            p/=10;
            l++;
        };
        q+=l;
        cout<<n;
        if (q>=k) {
            flag=true;
            int s=q-k;
            int m=pow(10,s);//здесь выбивает ошибку!!! 
            int c=n/m;
            c%=10;
            cout<<"\n"<<c<<"\n";
        };
    }while (flag==true);
    _getch();
    return 0;
}
error C2668: 'pow' : ambiguous call to overloaded function. Помогите исправить!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 10:01     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности..
Посмотрите здесь:

Дано натуральное число n. Напечатать те натуральные числа, квадрат которых не превышает n. C++
C++ Дано натуральное число n, найти первую цифру числа n
Дано натуральное число. Определить минимальную цифру этого числа C++
C++ Дано натуральное число n<=99. дописать к нему цифру k в начало и в конец
Дано натуральное число k, определить k-ю цифру последовательности C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ProRocker
 Аватар для ProRocker
1 / 1 / 0
Регистрация: 20.03.2011
Сообщений: 12
29.11.2011, 10:05     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #2
Ambiguous call to overloaded function

Насколько я понимаю pow() принимает double-параметры. И если ты даешь ему int то он конвертирует их в double. Следовательно и число выйдет не int. Попробуй поменять тип объекта m.
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 13:55  [ТС]     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #3
Спасибо, как-то не подумал про это!!! Сейчас попробую!!!
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 14:03     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #4
Вы не подумали про то, что к-ая цифра-это к*2?
Тогда код упростится до безобразия:
C
1
2
3
4
5
6
7
8
9
10
#include "StdAfx.h"
#include <stdio.h>
#include <conio.h>
void main()
{
int k;
scanf("%d", &k);
printf("k-a9 I_I,uqppa=%d", k*2);
_getch();
}
Код для студии.
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 14:04  [ТС]     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #5
в Double никак, иначе не получается С%=10;
но можно "с" оставить как int, тогда прога зацикливается!!!
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 14:06     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #6
Моё сообщение выше прочитайте!))
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 14:08  [ТС]     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #7
но, а последовательность, то вывести надо!!!
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 14:09     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #8
так вам к-ую цифру или всю(!) последовательность? Скажите задание полностью)
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 14:12  [ТС]     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #9
Дано натуральное k. Напечатать k-ю цифру последовательности
24681012141618202224262830..., в которой выписаны подряд все натуральные четные
числа.
Вот все задание.
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 14:14     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #10
Про что я и говорил. Вам нужна к-ая цифра...хм....так цифра или число?
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 14:20  [ТС]     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #11
Первым делом - цифра!!!(спасибо вам за код )
А вторым - последовательность 2, 4, 6, 8, 10, 12, 14, 15.... и т.д.
И при вводе например 4, чтобы выводило:
к-ая цифра = 4
//и саму полученную последовательность
2, 4, 6, 8
ProRocker
 Аватар для ProRocker
1 / 1 / 0
Регистрация: 20.03.2011
Сообщений: 12
29.11.2011, 17:20     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #12
Число ему надо, видно по заданию.
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 17:53     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #13
ну дак если именно число!!!!!(а число и цифра-не одно и тоже, поверьте, я ученик 10 класса, эту тему проходим), то мой код вполне подходит)
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 18:55  [ТС]     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #14
Спс всем за помощь.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.11.2011, 20:44     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #15

Не по теме:

Цитата Сообщение от Диман56 Посмотреть сообщение
а число и цифра-не одно и тоже, поверьте, я ученик 10 класса, эту тему проходим
И смешно, и грустно...


itoa + reverce выдернул с википедии.
Программа выводит строку и цифру.
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
#include <string.h>
 
void reverse(char s[])
{
    int i, j;
    char c;
 
    for (i = 0, j = strlen(s)-1; i<j; i++, j--) 
    {
        c = s[i];
        s[i] = s[j];
        s[j] = c;
    }
}
 
void itoa(int n, char s[])
{
    int i, sign;
 
    if ((sign = n) < 0)  
        n = -n;          
    i = 0;
    do 
        s[i++] = n % 10 + '0';   
    while ((n /= 10) > 0);     
    if (sign < 0)
        s[i++] = '-';
    s[i] = '\0';
    reverse(s);
}
 
int main(void)
{
    char buf[16];
    int n, i = 0, j = 0, k;
    scanf("%d", &n);
    while(i < n)
    {
        j += 2;
        itoa(j, buf);
        i += strlen(buf);
        if(i > n)
        {
            i = n + strlen(buf) - i;
            for(k = 0; k < i; ++k)
                printf("%c", buf[k]);
            break;
        }
        printf("%s", buf);
    }
    printf("\nsymbol # %d - %c\n", n, ((i < n) ? (buf[i - 1]) : (buf[strlen(buf) - 1])));
    return 0;
}
output
Код
soon@bt:~/Desktop$ ./main
93 94 95 96 97 98 99 100 101 102 103
246810121416182022242628303234363840424446485052545658606264666870727476788082848688909294969
symbol # 93 - 9
2468101214161820222426283032343638404244464850525456586062646668707274767880828486889092949698
symbol # 94 - 8
24681012141618202224262830323436384042444648505254565860626466687072747678808284868890929496981
symbol # 95 - 1
246810121416182022242628303234363840424446485052545658606264666870727476788082848688909294969810
symbol # 96 - 0
2468101214161820222426283032343638404244464850525456586062646668707274767880828486889092949698100
symbol # 97 - 0
24681012141618202224262830323436384042444648505254565860626466687072747678808284868890929496981001
symbol # 98 - 1
246810121416182022242628303234363840424446485052545658606264666870727476788082848688909294969810010
symbol # 99 - 0
2468101214161820222426283032343638404244464850525456586062646668707274767880828486889092949698100102
symbol # 100 - 2
24681012141618202224262830323436384042444648505254565860626466687072747678808284868890929496981001021
symbol # 101 - 1
246810121416182022242628303234363840424446485052545658606264666870727476788082848688909294969810010210
symbol # 102 - 0
2468101214161820222426283032343638404244464850525456586062646668707274767880828486889092949698100102104
symbol # 103 - 4
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 21:37  [ТС]     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #16
Спасибо SOON за помощь, это то, что нужно, только замудрено немного!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 21:40     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности..
Еще ссылки по теме:

Дано натуральное число. Удвоить первую цифру числа C++
Дано натуральное k. Определить k-ю цифру последовательности, в которой выписаны подряд степени пятерки C++
C++ Дано четырехзначное натуральное число. Удалить из записи этого числа все чётные цифры и цифру 0

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

Или воспользуйтесь поиском по форуму:
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.11.2011, 21:40     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. #17
Можно без реализации itoa, если она присутствует в stdlib.h. Проверьте, подключите stdlib.h и уберите функции itoa и reverce. Если заработает как надо, то можете так и оставить, нет - честно скажете, что утянули их из Википедии. Свободная энциклопедия, же
Yandex
Объявления
29.11.2011, 21:40     Дано натуральное k. Напечатать k-ю цифру некоторой последовательности..
Ответ Создать тему
Опции темы

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