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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.84
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
11.12.2008, 03:47     Найти K-ю цифру в строке натуральных чисел #1
Сразу о главном:
дано натуральное K. Найти K-ю цифру в строке натуральных чисел 123456789101112131415.... Что с этим счастьем делать, ума не приложу(((
Помогите, пожалуйста, если кто может.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2008, 03:47     Найти K-ю цифру в строке натуральных чисел
Посмотрите здесь:

Среди чисел найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел C++
Циклы: Задано натуральное число n. Найти количество натуральных чисел, не превышающих n и не делящихся ни на одно из чисел 2, 3, 5 C++
C++ Найти минимальные елементы в каждой строке прямоугольной матрицы натуральных чисел
C++ Найдите 10 первых натуральных чисел, больше 100, кратные 9 и заканчиваются на цифру 7
В заданной строке найти первую цифру и вывести её C++
Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9, не меньших 100 (Pascal -> C++) C++
В последовательности всех натуральных чисел от 1 до k найти k-ую цифру C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 12:08  [ТС]     Найти K-ю цифру в строке натуральных чисел #41
А что вобще значит std::???

Добавлено через 2 минуты 11 секунд
а нету случайно "умных книжек" на русском??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spo1ler
 Аватар для Spo1ler
291 / 51 / 3
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 12:17     Найти K-ю цифру в строке натуральных чисел #42
std - это пространство имен (namespace). А std:: это запись для использования члена этого пространства.
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 12:30  [ТС]     Найти K-ю цифру в строке натуральных чисел #43
stringstream и ss - это что? SS , если я правильно поняла, то это как элемент массива?!
Spo1ler
 Аватар для Spo1ler
291 / 51 / 3
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 12:35     Найти K-ю цифру в строке натуральных чисел #44
ss это экземпляр класса std:stringstream.
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 12:37  [ТС]     Найти K-ю цифру в строке натуральных чисел #45
string str=ss.str(); - а это тогда что?!
Spo1ler
 Аватар для Spo1ler
291 / 51 / 3
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 12:42     Найти K-ю цифру в строке натуральных чисел #46
Дык я обьявляю строку и с помощью функции-члена ss, который возвращает строку, которую мы туда поместили, мы ее инициализируем.
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 12:46  [ТС]     Найти K-ю цифру в строке натуральных чисел #47
ss << i; а почему мы тогда индексу присваиваем через эту функцию-член???
leviaphan
4 / 4 / 0
Регистрация: 18.08.2008
Сообщений: 73
13.12.2008, 13:02     Найти K-ю цифру в строке натуральных чисел #48
просто в цикле создавать такую же строку, с помощью itoa() добавлять число в строку

я как-то писал похожую программу, только не просто последовательные числа, а их квадраты. может поможет:

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <cstring>
#include <stdio.h>
#include <conio.h>
#include <math.h>
using namespace std;
 
#define EXIT() getch(); return 0;
 
int main()
{
    const int max_size = 100000;
    char input[max_size];
    int n;
    cin.getline(input,max_size);
    cin >> n;
    int min = -1;
    for (int i=0; i<strlen(input)/2; i++)
    {
        char* s1 = new char [i+2];
        int j;
        for (j=0; j<=i; j++)
            s1[j] = input[j];
        s1[j] = '\0';
        char* s2 = new char [strlen(input)-i+1];
        for (; j<i*2+3; j++)
            s2[j-i-1] = input[j];
        s2[j-i-1] = '\0';
        if (sqrt(atof(s1))+1 == sqrt(atof(s2)))
        {
            min = sqrt(atof(s1));
            break;
        }
        s2[j-i-2] = '\0';
        if (sqrt(atof(s1))+1 == sqrt(atof(s2)))
        {
            min = sqrt(atof(s1));
            break;
        }
        delete [] s1;
        delete [] s2;
    }
    if (min==-1)
    {
        cout << "Cannot find such element";
        EXIT();
    }
    char* s = new char [strlen(input)+1];
    bool decisions_found = false;
    for (int i=0; i<strlen(input);)
    {
        sprintf(s+i,"%d",min*min++);
        int j = i+strlen(s+i);
        if (n>=i && n<=j)
        {
            cout << min-1;
            decisions_found = true;
            break;
        }
        i = j;
    }
    delete [] s;
 
    if (!decisions_found)
    {
        cout << "Cannot find such element";
        EXIT();
    }
    getch();
    return 0;
}
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 13:08  [ТС]     Найти K-ю цифру в строке натуральных чисел #49
leviaphan, спасибо, конечно, только я врядли разберусь с этой задачей((
Spo1ler
 Аватар для Spo1ler
291 / 51 / 3
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 14:48     Найти K-ю цифру в строке натуральных чисел #50
leviaphan, а теперь сравни мое и твое решение. )
Ginger, я не буду вечно отвечать на твои вопросы. Учи язык.
leviaphan
4 / 4 / 0
Регистрация: 18.08.2008
Сообщений: 73
16.12.2008, 19:41     Найти K-ю цифру в строке натуральных чисел #51
Spo1ler, зато если поменять средства вывода на консоль и названия библиотек, то мой код будет работать на Си без плюсов
Spo1ler
 Аватар для Spo1ler
291 / 51 / 3
Регистрация: 22.05.2008
Сообщений: 788
16.12.2008, 20:14     Найти K-ю цифру в строке натуральных чисел #52
А зачем их менять? Если оно работает, то зачем?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2008, 23:37     Найти K-ю цифру в строке натуральных чисел
Еще ссылки по теме:

Определить k-ю цифру последовательности, в которой выписаны подряд кубы натуральных чисел C++
Дана последовательность факториалов натуральных чисел. Найти k-ю цифру C++
C++ Вывести K-тую цифру последовательности из цифр натуральных чисел
C++ Найти все цифры в строке. каждую цифру напечатать в отдельной строке
Найти в введенной строке чисел цифру, по указанному порядковым номером C++

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

Или воспользуйтесь поиском по форуму:
leviaphan
4 / 4 / 0
Регистрация: 18.08.2008
Сообщений: 73
28.12.2008, 23:37     Найти K-ю цифру в строке натуральных чисел #53
Цитата Сообщение от Spo1ler Посмотреть сообщение
А зачем их менять? Если оно работает, то зачем?
Согласен. Это я так, лишь бы сказать. Я писал эту программу, когда изучал синтаксис Си
Yandex
Объявления
28.12.2008, 23:37     Найти K-ю цифру в строке натуральных чисел
Ответ Создать тему
Опции темы

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