Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.84
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
#1

Найти K-ю цифру в строке натуральных чисел - C++

11.12.2008, 03:47. Просмотров 5000. Ответов 52
Метки нет (Все метки)

Сразу о главном:
дано натуральное K. Найти K-ю цифру в строке натуральных чисел 123456789101112131415.... Что с этим счастьем делать, ума не приложу(((
Помогите, пожалуйста, если кто может.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2008, 03:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти K-ю цифру в строке натуральных чисел (C++):

В последовательности всех натуральных чисел от 1 до k найти k-ую цифру
Разработать программу, которая запрашивает с клавиатуры натуральное число k и...

Дана последовательность факториалов натуральных чисел. Найти k-ю цифру
Здравствуйте. Задумался над условием задачи. Дана последовательность...

Найти k-ю цифру последовательности, сформированной из записанных . подряд натуральных чисел: 123456789101112
Найти k-ю цифру последовательности, сформированной из записанных ... подряд...

Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9, не меньших 100 (Pascal -> C++)
Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9 и...

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

Найти минимальные елементы в каждой строке прямоугольной матрицы натуральных чисел
Найти минимальные елементы в каждой строке прямоугольной матрицы натуральных...

52
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
11.12.2008, 09:27 #2
а что сложного? это вам такие курсачи дают - жесть... я бы у вас был богом программирования)))) неужели сложно в строке найти k-ую цифру?
string s = "123456789101112131415"; s[k-1] - это твоя цифра...
1
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
11.12.2008, 15:11  [ТС] #3
Помогите,пожалуйста. Задача состоит в том, что есть натуральное к. Надо найти к-ю цифру в строке 12345678910111213141516....натруральных чисел. Вот что-то написала, но так как по предмету было всего 2 лабы, а преподавательи думают, что мы всё знаем, это всё, что у меня получилось..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
void main()
{
    char number[1000];
    int i, k;
    number [0] = 1;
    printf ("Enter a number, please\n");
    scanf ("%d", &k);
    for (i = 0; i=(k-1); i++)
    {
        if (i = (k-1))
        {
            printf ("The number is %d\n", number[i]);
            break;
        }
        else
            number[i]++;
    }
}
0
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
11.12.2008, 15:25  [ТС] #4
всё было бы ничего, но как мне ввести безразмерную строку??? к может же быть любым натурлаьным числом!
0
oxotnik
1610 / 1087 / 71
Регистрация: 21.08.2008
Сообщений: 4,565
Записей в блоге: 1
11.12.2008, 15:26 #5
язык С или С++? stl можно применять?
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
11.12.2008, 15:37 #6
Ginger, а твой способ не так уж и плох... поставь себе не 1000 символов, а 100000, все равно даже при большом желании занести число в 100000 цифр да еще и вручную - это гемор...
0
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
11.12.2008, 20:27  [ТС] #7
но он же не работает(( а с клавиатуры мне нужно ввести только одно число!!!!!

Добавлено через 1 минуту 15 секунд
Цитата Сообщение от oxotnik Посмотреть сообщение
язык С или С++? stl можно применять?
С++ . А вот можно или нет я не знаю( нам не объясняли(
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
12.12.2008, 09:32 #8
понятное дело, что не работает, тебе еще надо считать строку, а потом уже выводить к-ый элемент...
0
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 10:01  [ТС] #9
А как считать эту строку???? Везде гда я смотела, есть информация только о символьных строках с буквами, а вот про строки цифр там не было...
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
12.12.2008, 10:14 #10
а вы мне назовите какая разница в символах буквах и символах цифрах, строке абсолютно все равно, что ты в нее запишешь...
0
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 10:23  [ТС] #11
у меня функция strlen() вобще не работает( а по-другомму не умею... мот там какая библиотека нужна...
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
12.12.2008, 10:29 #12
почему это не работает, покажи, что ты там наколдовала
0
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 11:16  [ТС] #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
void main()
{
    char number[1000];
    int i, k, n = 0;
    number [0] = 1;
    printf ("Enter a number, please\n");
    scanf ("%d", &k);
    for (i = 0; n = k ; i++)
    {
        if (i = (k-1))
        {
            printf ("The number is %d\n", number[i]);
            break;
        }
        else
            number[i]++;
            n+=strlen(number[i]);
    }
}
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
12.12.2008, 11:51 #14
простите, а это что такое?
там цикл должен должен быть такой:
Код
for (i = 0; k < strlen(number); i++)
0
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 14:17  [ТС] #15
error C2065: 'strlen' : undeclared identifier
Почему????

Добавлено через 7 минут 47 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
void main()
{
    char number[1000];
    unsigned int i, k;
    number [0] = 1;
    printf ("Enter a number, please\n");
    scanf ("%d", &k);
    for (i = 0; k < strlen (number) ; i++)
    {
        if (i = (k-1))
        {
            printf ("The number is %d\n", number[i]);
            break;
        }
        else
            number[i]++;
    }
}
изменила... ошибок нет, но считает не правильно...
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
12.12.2008, 14:19 #16
подключи string.h

Добавлено через 1 минуту 34 секунды
Код
#include <stdio.h>
#include <string.h>
void main()
{
    char number[1000];
    unsigned int i, k;
    number [0] = 1;
    printf ("Enter a number, please\n");
    scanf ("%d", &k);
    for (i = 0; k < strlen (number) ; i++){
        if (i = (k+1)){
           printf ("The number is %d\n", number[i]);
           break;
        }
    }
}
1
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 14:22  [ТС] #17
он всё равно выдаёт мне -52.... У меня едет крыша....
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
12.12.2008, 14:29 #18
погоди, сколько? -52? ну так а где же запись самого числа? ты же в неинициализированном массиве роешься, там может быть, что угодно... и лучше выводи на экран через cout, это проще... а если принтф, то не забывай, что это не число, а символ вообще-то у тебя...
0
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 14:40  [ТС] #19
Всмысле запись числа??? А массив я не могу инициализировать, так как не знаю какой длинны он будет - это же натуральные просто все натуральные числа. Разве можно их как-то инициализировать??

Добавлено через 7 минут 0 секунд
поменяла на cout, но он стал выдавать какой-то стрёмный значок...(
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,803
Завершенные тесты: 1
12.12.2008, 14:41 #20
погоди, ты не путай выделение памяти и заполнение их данными, ты, конечно, молодец 1000 байт откусила под число, в котором будешь потом возвращать заданный разряд... но а где само число?
неужто сложно написать: cin>number; ???
0
12.12.2008, 14:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2008, 14:41
Привет! Вот еще темы с решениями:

Вывести K-тую цифру последовательности из цифр натуральных чисел
#include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; void main() {...

Определить k-ю цифру последовательности, в которой выписаны подряд кубы натуральных чисел
Определить k-ю цифру последовательности 182764125216343 … ,в которой...

Найдите 10 первых натуральных чисел, больше 100, кратные 9 и заканчиваются на цифру 7
Знайдіть 10 перших натуральних чисел, що більші за 100, кратні 9 та...

Напечатать k-ю цифру последовательности 149162536, в которой выписаны подряд квадраты всех натуральных чисел
Напечатать k-ю цифру последовательности 149162536, в которой выписаны подряд...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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