IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
Closed Topic Открыть новую тему 
> Работа с массивом, цикл на исключение элементов
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 67
Пол: Мужской

Репутация: -  0  +


Ещё одна задача. В ней надо постоянно исключать каждый второй элемент т.к они расположены по кругу, то закончив один круг т.е. дойдя до еденицы, новый круг проходит уже для оставшихся элементов, и т.д. до тех пор пока не останется одно - вот его и надо вывести на экран
Собственно условие
Числа от 1 до N расставляем по кругу и вычеркиваем каждое второе число, начиная
с 1. Определить какое число останется последним.
На входе натуральное число N (1<= N <= 1000 000), на выходе последнее число.
Пример Результат

5 3

Сообщение отредактировано: NightPaladin -


--------------------
На горе лежит дискета
У неё испорчен boot
Через дырочку в конверте
Её вирусы грызут
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникальный
**

Группа: Пользователи
Сообщений: 64
Пол: Мужской

Репутация: -  2  +


Код
uses
 crt;
const
 n=5;
var
 a:array[1..n] of integer;
 b:array[1..n] of boolean;
 i,j,k:longint;

begin
 clrscr;
 randomize;
 for i:=1 to n do begin
   a[i]:=random(100);
   b[i]:=true;
 end;
 k:=0;i:=0;j:=0;
 repeat
 i:=i+1;
 if i>n then i:=1;
 if b[i] then begin
   j:=j+1;
   if (j mod 2) =0 then begin
     b[i]:=false;
     k:=k+1;
   end;
 end;
 until k=n;
 writeln('Poryadkoviy nomer ',i);
 writeln('Znachenie ',a[i]);
 readln;
end.


Сообщение отредактировано: Jahnerus -


--------------------
Век живи, век учи С © by Jahnerus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Jahnerus
Цитата
На входе натуральное число N (1<= N <= 1000 000)

Это тебе ни о чем не говорит? Ты прогонял программу со значением 40000?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникальный
**

Группа: Пользователи
Сообщений: 64
Пол: Мужской

Репутация: -  2  +


volvo
Цитата
Ты прогонял программу со значением 40000

Да и на 1000000 прогонял работает нормано!
Чё тебя не устраивает не пойму...


--------------------
Век живи, век учи С © by Jahnerus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Jahnerus
Код

const
n=1000000;
var
a:array[1..n] of integer;
b:array[1..n] of boolean;


Это работает?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






А вот это - работает для любых значений, которые помещаются в LongInt:
Код

const
 n:longint = 2000;

var
 last, i, pred: longint;
begin
 pred := $0001;
 while pred < n do
   pred := pred shl 1;
 if pred = n then last := 1
 else
   begin
     pred := pred shr 1;
     last := 1 + 2*(n - pred);
   end;

 writeln('оставшееся число:', last);
end.


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 67
Пол: Мужской

Репутация: -  0  +


Всем большой сэнкс volvo и Jahnerus
Если не трудно могли бы вы пояснить код, если будет время построчно.
Заранее благодарю и с уважением NightPaladin
P.S. вопрос наверное тупой, а как рейтинг повышать?


--------------------
На горе лежит дискета
У неё испорчен boot
Через дырочку в конверте
Её вирусы грызут
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Скажи одному из модераторов (мне, Volvo, или Oleg_Z)
я так понял ты хочешь поднять рейтинг Jahnerus`у ?
Сделано...


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
Скажи одному из модераторов

Вообще-то я не модератор smile.gif
Цитата
группа: администраторы

:D rolleyes.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Цитата
Вообще-то я не модератор

зато ты до-сих пор числишься в модераторах раздела ;)
посмотри


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Больше 10000 программа Jahnerus не потянет. Массивы такие не задают уже....

так что повышение рейтингане оправданно, GoodWind. Ты поторопился, не проверив.

Массивы не могут быть длинее чем 65536 элементов.
...
Работает программа volvo ... только.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Пионер
**

Группа: Пользователи
Сообщений: 67
Пол: Мужской

Репутация: -  0  +


Опять здравствуйте. Вообщето я имел ввиду повысить рейтинг и Jahnerus и volvo. Раз Jahnerus рейтинг уже повысили и для этого надо выслать заяву, то прошу повысить его и volvo. Или это на PM отсылать надо?


--------------------
На горе лежит дискета
У неё испорчен boot
Через дырочку в конверте
Её вирусы грызут
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


:D :D :D :D


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Уникальный
**

Группа: Пользователи
Сообщений: 64
Пол: Мужской

Репутация: -  2  +


Oleg_Z
Цитата
Больше 10000 программа Jahnerus не потянет. Массивы такие не задают уже....

Оплошность моя в том что писал я её на Delphi и проверял там же .... а затем лишь чучуть код под ТП поменял ... и не проверил ... так что не судите строго бывает rolleyes.gif


--------------------
Век живи, век учи С © by Jahnerus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
так что не судите строго бывает 

Ок :D
Но если это не пойжет на FPC, вообзе снижу на -5

шутка :D :D


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Уникальный
**

Группа: Пользователи
Сообщений: 64
Пол: Мужской

Репутация: -  2  +


Ценю юмор ....
Цитата
Но если это не пойжет на FPC, вообзе снижу на -5

Ну FPC то покруче будет чем TPC так что всё рулит !!!
А рейтинг помойму снижать дальше не куда ... ;)


--------------------
Век живи, век учи С © by Jahnerus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Бывалый
***

Группа: Пользователи
Сообщений: 253
Пол: Мужской

Репутация: -  4  +


Цитата
Но если это не пойжет на FPC, вообзе снижу на -5

снизить значит уменьшить, значит -, а Зю сказал, что снизит на -5 итого -(-5)=5=+5

Jahnerus радуйся, ща повысят lol.gif lol.gif lol.gif :P


--------------------
Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Цитата
А рейтинг помойму снижать дальше не куда ...

а вот и есть... был тут кто-то с рейтингом -1 lol.gif


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Уникальный
**

Группа: Пользователи
Сообщений: 64
Пол: Мужской

Репутация: -  2  +


GoodWind
Цитата
был тут кто-то с рейтингом -1

Я тоже хочу рейтинг -1 sad.gif . Ты же всемогущий модератор ... чё тебе стоит ;) .
Вот вас таких много с положительными рейтингами, а я один буду !!! :D Уникальный

Сообщение отредактировано: Jahnerus -


--------------------
Век живи, век учи С © by Jahnerus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Цитата(Jahnerus @ 29.11.04 17:46)
GoodWind

Я тоже хочу рейтинг -1  sad.gif . Ты же всемогущий модератор ... чё тебе стоит  ;) .
Вот вас таких много с положительными рейтингами, а я один буду !!!  :D Уникальный

Мазохист..... я не садист, но помочь могу... хотя смысла в этом нет... blink.gif :D

[Оффтоп]Когда-то в БК я попросил паладина наложить на меня молчанку.... тоже без всякого смысла, но ради прикола... rolleyes.gif [/Оффтоп]


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 8.05.2024 22:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name