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

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

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

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

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

Сразу о главном:
дано натуральное 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
12.12.2008, 14:46  [ТС]     Найти K-ю цифру в строке натуральных чисел #21
Мы вобще не работали с таким вводом.выводом данных((( Я только по книжкам что-то читала, да и то поняла только мелочь...

Добавлено через 2 минуты 6 секунд
D:\XXX\ZZZZ.CPP(13) : error C2676: binary '>' : 'class istream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operator
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
12.12.2008, 14:51     Найти K-ю цифру в строке натуральных чисел #22
#include <iostream> или #include <iostream.h>
using namespace std;
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 14:53  [ТС]     Найти K-ю цифру в строке натуральных чисел #23
#include <iostream.h> - это я добавила. а вот вторую строчку куда, простите??

Добавлено через 48 секунд
D:\XXX\ZZZZ.CPP(8) : error C2871: 'std' : does not exist or is not a namespace
D:\XXX\ZZZZ.CPP(14) : error C2676: binary '>' : 'class istream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operator
Error executing cl.exe.
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
12.12.2008, 14:57     Найти K-ю цифру в строке натуральных чисел #24
можешь перед main расположить... покажи код...
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 15:00  [ТС]     Найти K-ю цифру в строке натуральных чисел #25
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <string.h>
#include <iostream.h>
using namespace std;
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++)
    {
        cin > number;
        if (i = (k+1))
        {
            cout << number[i] << endl;
            break;
        }
    }
}
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
12.12.2008, 15:16     Найти K-ю цифру в строке натуральных чисел #26
все, уговорила:
Код
#include <string.h>
#include <iostream.h>
using namespace std;
int main()
{
 char number[1000];
 unsigned int i, k;
 cin>>number;
 printf ("Enter a number, please\n");
 cin >>k;
 for (i = 0; k < strlen (number) ; i++)
 {
  cin > number;
  if (i == (k - 1))
  {
   cout << number[i] << endl;
   break;
  }
 }
 return 0;
}
проверил в codeblock, работает... только поставь еще проверку на вводимое число к, чтобы вводилось не больше, чем длина числа...
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 15:36  [ТС]     Найти K-ю цифру в строке натуральных чисел #27
а у меня в VS выдаёт 2 ошибки((((
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
12.12.2008, 15:51     Найти K-ю цифру в строке натуральных чисел #28
так какие, и что же ты сразу не сказала про VC
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
12.12.2008, 15:54     Найти K-ю цифру в строке натуральных чисел #29
Делайте с помощью std::stringstream
C++
1
2
3
4
5
6
7
8
9
10
11
#include <sstream>
#include <string>
#include <iostream>
//...
std::stringstream ss;
for(int i=1; i<=k; i++){
     ss << i;
}
std::string str=ss.str();
std::cout << str[m];
//...
Где m - позиция цифры, а k - максимальное число.
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 16:04  [ТС]     Найти K-ю цифру в строке натуральных чисел #30
я последнюю программу вобще если честно не поняла((( я дебил... :'(

Добавлено через 1 минуту 36 секунд
ompiling...
ZZZZ.CPP
D:\XXX\ZZZZ.CPP(4) : error C2871: 'std' : does not exist or is not a namespace
D:\XXX\ZZZZ.CPP(14) : error C2676: binary '>' : 'class istream_withassign' does not define this operator or a conversion to a type acceptable to the predefined operator
Error executing cl.exe.

ZZZZ.exe - 2 error(s), 0 warning(s)
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
12.12.2008, 16:22     Найти K-ю цифру в строке натуральных чисел #31
попробуй так:
Код
#include <string.h>
#include <iostream.h>
int main()
{
 char number[1000];
 unsigned int i, k;
 std::cin>>number;
 printf ("Enter a number, please\n");
std:: cin >>k;
 for (i = 0; k < strlen (number) ; i++)
 {
  if (i == (k - 1))
  {
   std::cout << number[i] <<  std::endl;
   break;
  }
 }
 return 0;
}
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 16:41  [ТС]     Найти K-ю цифру в строке натуральных чисел #32
Compiling...
ZZZZ.CPP
D:\XXX\ZZZZ.CPP(4) : error C2871: 'std' : does not exist or is not a namespace
D:\XXX\ZZZZ.CPP(9) : error C2653: 'std' : is not a class or namespace name
D:\XXX\ZZZZ.CPP(11) : error C2653: 'std' : is not a class or namespace name
D:\XXX\ZZZZ.CPP(16) : error C2653: 'std' : is not a class or namespace name
Error executing cl.exe.

ZZZZ.exe - 4 error(s), 0 warning(s)
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
12.12.2008, 16:48     Найти K-ю цифру в строке натуральных чисел #33
так подключи iostream без h
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
12.12.2008, 17:29     Найти K-ю цифру в строке натуральных чисел #34
Последнее китайское. Вот тебе полный текст программы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <sstream>
#include <string>
#include <iostream>
int main(){
     std::stringstream ss;
     for(int i=1; i<=k; i++){
          ss << i;
     }
     std::string str=ss.str();
     int m;
     std::cout << "Enter number: " << std::endl;
     std::cin >> m;
     std::cout << "There is number " <<  str[m] << " on position " << m << std::endl;
     return 0;
}
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 23:08  [ТС]     Найти K-ю цифру в строке натуральных чисел #35
Цитата Сообщение от WooDooMan Посмотреть сообщение
так подключи iostream без h
он вобще ничего не выводит((

Добавлено через 2 минуты 19 секунд
Spo1ler, а она, кстати, ничего не выводит((
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
12.12.2008, 23:11     Найти K-ю цифру в строке натуральных чисел #36
Блин. Оно все выводит, просто окошко успевает закрываться. Вставь над return 0; строку system("PAUSE");
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
12.12.2008, 23:13  [ТС]     Найти K-ю цифру в строке натуральных чисел #37
оно не выводит цифру!!! в последней строке только введённое число...
std::cout << "There is number " << str[m] << " on position " << m << std::endl; - в этой строчке! str[m] - не выводться(((
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
12.12.2008, 23:57     Найти K-ю цифру в строке натуральных чисел #38
Ой, я ошибся. Я вообще не знаю как оно у тебя заработало, но не должно было. Я забыл объявить переменную k.
Короче вот правильный, по идее, код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <sstream>
#include <string>
#include <iostream>
int main(){
     std::stringstream ss;
     int k;
     std::cout << "Enter max number: ";
     std::cin >> k; 
     for(int i=1; i<=k; i++){
          ss << i;
     }
     std::string str=ss.str();
     int m;
     std::cout << "Enter number: " << std::endl;
     std::cin >> m;
     std::cout << "There is number " <<  str[m] << " on position " << m << std::endl;
     return 0;
}
Ginger
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 00:06  [ТС]     Найти K-ю цифру в строке натуральных чисел #39
Spo1ler, спасбо огромное!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! А можно хотя бы пару минимальных объяснений по тексту, ато я нигде такого не встреччала - у нас всё примитивно - Hello, World((

std::stringstream ss;
std::
ss <<
std::string str=ss.str();
std::
str[m]


я конечно понимаю, я неблагодарная скотина, но честно не понятно - нас в этой грёбаной академи научили пользоваться только printf/scanf(((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2008, 12:04     Найти K-ю цифру в строке натуральных чисел
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 12:04     Найти K-ю цифру в строке натуральных чисел #40
Читай умные книжки по STL. std::strginstream это такая вещь, типа того же std::cout. Только тут можно вводить в строку и получать из нее. Короче читай http://www.cplusplus.com/reference/i.../stringstream/
Yandex
Объявления
13.12.2008, 12:04     Найти K-ю цифру в строке натуральных чисел
Ответ Создать тему
Опции темы

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