Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2007, 09:46   #1
Fuckin_Princess
 
Аватар для Fuckin_Princess
 
Регистрация: 27.11.2007
Сообщений: 4
Вопрос Показать элемент по указанной позиции.

Кароч, есть последовательность натуральных чиссел вида 1234567891011121314...... и т . д., причем она нигде не хранится.. Пользователь вводит желаемую позицию, например 12, и прога должна выдать единичку... вот так( Вроде просто, но не получаецо)
Fuckin_Princess вне форума Ответить с цитированием
Старый 07.12.2007, 10:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
причем она нигде не хранится..
Тогда задача нерешаема впринципе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2007, 10:34   #3
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Код:
вводим(n); 
x:=0;
 s:=0;
 while s<n do
   begin
     x:=x+1;
     p:=x;
     k:=0;
     while p>0 do
       begin
         p:=p div 10;
         k:=k+1;
       end;
     s:=s+k;
   end;
 writeln(x);
находим x число которое стоит на этом месте
если n=s то ответ первая цифра этого числа
и т.д.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 07.12.2007, 10:42   #4
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
Печаль Массив символов

Plague => В названии темы указан язык С++
Stilet => Автор темы, под ...нигде не хранится... скорее всего понимает, что искомая последовательность берется не из файла (наверно)

Fuckin_Princess => Такие задачи лучше решать самостоятельно - больше пользы будет.
Код:
#include<iostream.h>
void main()
{
char str1[100];
int i;
cout<<"Запрос на ввод последовательности:";
cin>>str1;
cout<<"Номер позиции:";
cin>>i;
cout<<str1[i-1]; 
}
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"

Последний раз редактировалось AlDelta; 07.12.2007 в 10:46.
AlDelta вне форума Ответить с цитированием
Старый 07.12.2007, 10:48   #5
Fuckin_Princess
 
Аватар для Fuckin_Princess
 
Регистрация: 27.11.2007
Сообщений: 4
По умолчанию

AlDelta, автор имел в виду, то что написал) Мы не можем вводить эту последовательность с клавиатуры, и из файла тоже. Такая вот абстрактная последовательность. И вы меня кстати не поняли, задача состоит не в том, чтобы выдать циферку которая предшествует введенной позиции, это я и сама могу) строка 1234567891011121314...., и если мы например введем позицию 15, нам дожны выдать двоечку

Последний раз редактировалось Fuckin_Princess; 07.12.2007 в 10:51.
Fuckin_Princess вне форума Ответить с цитированием
Старый 07.12.2007, 11:01   #6
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Запусти мой код и посмотри, что будет выведено для последовательности 1234567891011121314 и позиции 15

Для общего развития:
Цитата:
... первый элемент массива A, указывают как A[0], второй элемент — как A[1], шестой — как A[5] и вообще i-ый элемент массива A указывают как A[i-1] ...
Тогда поясни более подробно (если сам понимаешь):
Цитата:
...Мы не можем вводить эту последовательность с клавиатуры, и из файла тоже. Такая вот абстрактная последовательность....
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 07.12.2007, 11:25   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

а-а-а я кажись допер че эт за последовательность: это цикл от 1 до ...
1 2 3 4 5 6 7 8 9 10 11 12 13 14...

Так, тогда совет: в цикле сгенерить эту последовательность в строку, а потом выбрать из строки итый элемент.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2007, 11:56   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

В этой задаче действительно не надо нигде хранить исходные данные, т.к. они уже системазированы.
Полностью решить задачу, это надо думать, а вот для последовательности 123...1819(29 элементов) решается так:
for i:=1 to 29 do begin
if i<=9 then j:=i;
if (i>=10) and (i<=29) then
if i mod 2=0 then j:=1 else
if imod 2=1 then j:=i div 2-5;
так для позиции i=15 j=2;
Нужно искать закономерность дальше, делать цикл и т.д.
Поторопился, надо внести правки.
И что-то насчет Си ничего не вижу.

Последний раз редактировалось puporev; 07.12.2007 в 12:11.
puporev вне форума Ответить с цитированием
Старый 07.12.2007, 12:07   #9
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

AlDelta пожалуйста Cи так Си

Код:
int main(void)
{
long n,k,p;
cin>>n;
long x=0;
long s=0;
while (s<n)
{
  x++;
  p=x;
  k=0;
  while (p>0)
  {
    p=p/10;
    k++;
  }
  s=s+k;
}
cout<<x;
далее
если s-n=0 по первая цифра в числе x
если s-n=1 то вторая цифра числа x
и так далее
повторяю цифры числа x
все зависит от длины числа x
блин эта классическая задача по программированию
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезапись файла в текущей позиции Андрей= Общие вопросы Delphi 2 08.05.2008 17:19
Вычисления номера позиции Stelix Паскаль, Turbo Pascal, PascalABC.NET 3 03.12.2007 03:05
Не видны файлы *.dcu в директории указанной в Project->Options->Directories/Conditionals->Search Path Иванчо Общие вопросы Delphi 2 20.09.2007 10:57
Поиск позиции элемента несортированного массива gdneon Microsoft Office Excel 4 16.04.2007 08:08