Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 29.04.2015
Сообщений: 4

Вывести K-тую цифру последовательности из цифр натуральных чисел

30.04.2015, 18:23. Показов 2705. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <stdio.h>
#include <iostream>
using namespace std;
 
void main()
{
    int k, i,  n=0;
    
    cout << "Enter k = ";
    cin >> k;
 
    char *A = new char[k];
 
    for (i = 0; i <= 9; i++)
    {
        A[i] = i;
        n++;
    }
 
    for (; i <= 99, n<=k;)
        {
            A[n] = i/10; n++;
            A[n] = i%10; n++;
            i++;
        }
 
    for (n=190; i <= 999, n <= k;)
    {
        A[n] = i / 100; n++;
        A[n] = (i % 100) / 10; n++;
        A[n] = (i % 10); n++; // вот здесь и проблема
        i++;
    }
 
cout << A[k] - A[0];
    
    system("pause>>void");
 
}

Есть вот такой черновой вариант фрагмента программы. Суть в том, что пользователь вводит число k, а программа должна создать массив символов до A[k], который состоит из последовательности натуральных чисел(по одной цифре в ячейке), и вывести к-тую цифру этой последовательности. (В данной программе k может быть <=2789). Выводит на экран все верно, кроме каждой третьей цифры 3-значных чисел. Не могу разобраться почему.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2015, 18:23
Ответы с готовыми решениями:

Определить n-тую цифру в последовательности: 112123123411212312341121231234…
Определить n-тую цифру в последовательности: 112123123411212312341121231234…

Найти K-тую цифру последовательности 123456789101112131415...999
Привет! нужно написать программу на С чтобы найти K-тую цифру последовательности 123456789101112131415....999 без использования массивов,...

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

4
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
30.04.2015, 18:33
Цитата Сообщение от Woofer11 Посмотреть сообщение
char *A = new char[k];
А Вы уверены что для хранения чисел нужно использовать этот тип?

Цитата Сообщение от Woofer11 Посмотреть сообщение
программа должна создать массив символов до A[k],
Цитата Сообщение от Woofer11 Посмотреть сообщение
к-тую цифру этой последовательности
Тут она должна бы упасть, но ... тут свою роль играет тип вашего массива. Только я не понял как Вы вобще поняли что программа работает не верно ?
0
0 / 0 / 0
Регистрация: 29.04.2015
Сообщений: 4
30.04.2015, 22:38  [ТС]
В том то и дело, что нужно в char это сделать. Это у меня такое задание. Так то это, конечно, можно сделать и без массива.
Просто проверил: ввел к=192 - это третья цифра числа 100, и мне вместо 0, как оно должно быть, вывело 2. Для к=195, выводит 4, вместо 1, то есть все последние цифры трех значного числа выводит не те.
0
18 / 18 / 10
Регистрация: 20.04.2015
Сообщений: 108
01.05.2015, 01:33
Цитата Сообщение от Woofer11 Посмотреть сообщение
A[n] = i/10; n++;
ты преобразовываешь int в char и выходит бред попробуй отобразить массив этот который создаешь и увидишь.
p.s. с вектором попроще
Кликните здесь для просмотра всего текста
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
int main()
{
char cifri[11]="0123456789";
int i;
vector<char>a;
 
int k;
cin>>k;
for(i=0;i<1000;i++)
{
if(i<10)a.push_back(cifri[i]);
else if(i<100)
{
a.push_back(cifri[i/10]);
a.push_back(cifri[i%10]);
 
}else if(i<369)
{
a.push_back(cifri[i/100]);
a.push_back(cifri[(i%100)/10]);
a.push_back(cifri[i%10]);
 
}
}
cout<<endl;
cout<<a.size();
cout<<endl;
for(int z=0;z<2500;z++)
{
if(z<997)cout<<a[z];
}
 
}
0
0 / 0 / 0
Регистрация: 29.04.2015
Сообщений: 4
01.05.2015, 14:14  [ТС]
Нашел, в чем проблема: условие выхода из цикла. Вместо
C++
1
for (n=190; i <= 999, n <= k;)
должно быть
C++
1
for (n=190; i <= 999 && n <= k;)
. В первом варианте компилятор рассматривает только последнее условие.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.05.2015, 14:14
Помогаю со студенческими работами здесь

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

Найти n-ую цифру в последовательности, образованной записью квадратов натуральных чисел
На доске выписана последовательность квадратов целых чисел, без пробелов, начиная с единицы: 1 4 9 16 25 36 49 64 81 100… . Найдите n-ую...

В последовательности из квадратов натуральных чисел до N найти цифру, стоящую в k-ой позиции
Ломаю голову, не могу решить задание. Слабо знаком с PHP. Помогите, пожалуйста) Создать в строке последовательность из квадратов...

Найти k-ю цифру последовательности, сформированной из записанных подряд натуральных чисел
Привет всем, помогите сделать программы на паскале, а то я больше с С++ на &quot;ты&quot;. Задачи с олимпиады, нужно срочно. Спасибо зарание. А...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru