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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
#1

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

29.11.2011, 10:01. Просмотров 2067. Ответов 16
Метки нет (Все метки)

Дано натуральное 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. Помогите исправить!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 10:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дано натуральное k. Напечатать k-ю цифру некоторой последовательности.. (C++):

Дано натуральное число k, определить k-ю цифру последовательности - C++
Дано натуральное число k, определить k-ю цифру последовательности 110100100010000.... в которой выписаны подряд степени числа 10. Главная...

Дано натуральное число k. Определить k-тую цифру последовательности - C++
Ребят привет. Помогите плиз. В общем вот задание: Дано натуральное число k. Определить k-тую цифру последовательности, в которой...

Дано натуральное k. Определить k-ю цифру последовательности, в которой выписаны подряд степени пятерки - C++
Дано натуральное k. Определить k-ю цифру последовательности: 1525125625..., в которой выписаны подряд степени 5. #include &lt;stdio.h&gt; ...

Дано натуральное число n, найти первую цифру числа n - C++
Дано натуральное число n, найти первую цифру числа n. (c++) ?

Дано натуральное число n, найти первую цифру числа n - C++
Дано натуральное число n (n ≤ 100), найти первую цифру числа n. На паскале пожалуйста срочно надо!

Дано натуральное число. Удвоить первую цифру числа - C++
Дано натуральное число. Удвоить первую цифру числа. Пример 49-&gt;89, 89-&gt;169.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ProRocker
1 / 1 / 0
Регистрация: 20.03.2011
Сообщений: 12
29.11.2011, 10:05 #2
Ambiguous call to overloaded function

Насколько я понимаю pow() принимает double-параметры. И если ты даешь ему int то он конвертирует их в double. Следовательно и число выйдет не int. Попробуй поменять тип объекта m.
1
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 13:55  [ТС] #3
Спасибо, как-то не подумал про это!!! Сейчас попробую!!!
0
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 14:03 #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();
}
Код для студии.
1
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 14:04  [ТС] #5
в Double никак, иначе не получается С%=10;
но можно "с" оставить как int, тогда прога зацикливается!!!
0
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 14:06 #6
Моё сообщение выше прочитайте!))
0
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 14:08  [ТС] #7
но, а последовательность, то вывести надо!!!
0
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 14:09 #8
так вам к-ую цифру или всю(!) последовательность? Скажите задание полностью)
0
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 14:12  [ТС] #9
Дано натуральное k. Напечатать k-ю цифру последовательности
24681012141618202224262830..., в которой выписаны подряд все натуральные четные
числа.
Вот все задание.
0
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 14:14 #10
Про что я и говорил. Вам нужна к-ая цифра...хм....так цифра или число?
0
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 14:20  [ТС] #11
Первым делом - цифра!!!(спасибо вам за код )
А вторым - последовательность 2, 4, 6, 8, 10, 12, 14, 15.... и т.д.
И при вводе например 4, чтобы выводило:
к-ая цифра = 4
//и саму полученную последовательность
2, 4, 6, 8
0
ProRocker
1 / 1 / 0
Регистрация: 20.03.2011
Сообщений: 12
29.11.2011, 17:20 #12
Число ему надо, видно по заданию.
0
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 17:53 #13
ну дак если именно число!!!!!(а число и цифра-не одно и тоже, поверьте, я ученик 10 класса, эту тему проходим), то мой код вполне подходит)
0
SEV7
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 34
29.11.2011, 18:55  [ТС] #14
Спс всем за помощь.
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.11.2011, 20:44 #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
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 20:44
Привет! Вот еще темы с ответами:

Дано натуральное число n<=99. дописать к нему цифру k в начало и в конец - C++
дано натуральное число n&lt;=99. дописать к нему цифру k в начало и в конец

Дано натуральное число. Определить минимальную цифру этого числа - C++
Given a positive integer N.Write a program that determines the smallest digit which can be found in number

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

Дано четырехзначное натуральное число. Удалить из записи этого числа все чётные цифры и цифру 0 - C++
Дано четырехзначное натуральное число. Удалить из записи этого числа все чётные цифры и цифру 0. По возможности не решать задачу а...


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

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

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