Карта сайта

Это автоматически сохраненная страница от 28.02.2013. Оригинал был здесь: http://2ch.hk/b/res/44174113.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Чтв 28 Фев 2013 08:38:48
ПИСЕЧКИ НА ДОМ
Суп, котаны. Есть среди вас убершкольники, могущие в паскаль? Или не школьники, суть не в этом. Суть в том, что я не могу решить задачку.
С клавиатуры вводится строка. Вывести наибольшее число.Притом строка может быть как вида
hiukgdrghki3y27859yhjgio;sh vutl4s87ewyt945?,
так и
1213 457674589757 6478598499,
да и вообще, абсолютно любого.

Времени думать почти не осталось, а я так и не придумал. Выручайте, котаны.


Чтв 28 Фев 2013 08:39:54
>>44174113
Делается элементарно,но ты ебанутый школьник,поэтому вьеби ка сажи

Чтв 28 Фев 2013 08:46:07
>>44174181
Меня волнует один вопрос, если точнее. Так как цифр в числе может быть n-нное количество, то цикл нужно повторять до того момента, как как цифры закончатся, и вновь начинать, когда они начнутся. Не представляю, как это сделать. Дальше решение понятно.

Чтв 28 Фев 2013 08:47:28
>>44174239
С помощью сажи

Чтв 28 Фев 2013 08:48:55
>>44174113
вопрос некорректно поставлен, программировать тут особо нечего, главное придумать, что делать, уточнить, что является числом и пр.
меня бы, как преподавателя и псевдокод устроил

Чтв 28 Фев 2013 08:50:38
>>44174239
Если в лоб, считывай все элементы и когда попадется не цифра, сравнивай получившееся число с максимальным попавшимся до этого, цикл необязательно прерывать на сторонних символах

Чтв 28 Фев 2013 08:51:25
>>44174239
заведи флаг состояния, в числе ты или нет, меняй его в процессе посимвольного чтения строки

Чтв 28 Фев 2013 08:53:40
>>44174351
Мне нужен цикл, который выведет числа в отдельную строку, а дальше все просто. Загвоздка в том, что строка, которая вводится с клавиатуры, может иметь сколько угодно скольки значных чисел. И как в цикле for это можно прописать? Или юзать repeat? Но что тут прокуручивать? Или вообще строку в массив перегнать? Я просто не могу понять, как заставить паскаль делать два действия n-нное количество раз.

Чтв 28 Фев 2013 08:55:45
>>44174351, а ты переспрашиваешь.

Чтв 28 Фев 2013 08:58:58
Использовать что-то вроде s:=s+s, где s - строка, s<em> - i-ный элемент строки, затем присваивать новому значению значение строки, переводить в число и сравнивать? Но как вычислить i?
>>44174459
Мне не ясно, поэтому переспрашиваю, сажамэн, немогущий в паскаль.
</em>

Чтв 28 Фев 2013 09:00:05
всевдоговнокод
s:=0;
max:=0;
флаг:=0;
Пока не конец строки {
Обрабатываем символ;
если не цифра {
если flag=1 {
если s>max, то max:=s;
s:=0;
флаг:=0;
}
}
если цифра {
s:=s*10 + эта цифра;
флаг:=1;
}
}
writeln(max).


Чтв 28 Фев 2013 09:01:22
>>44174537
Лошара ты ссаная, не могущая в посимвольный перебор строки в цикле. Тебе уже доброанон написал: используй флаг состояния, мать твою!

Чтв 28 Фев 2013 09:06:10
>>44174563
Кокой ты няша.
>Обрабатываем символ;
>если не цифра {
for i:=1 to length(s) do begin
If s in [&amp;#39;1&amp;#39;..&amp;#39;9&amp;#39;] then f:=1 else f:=0;
if f:=1 then s1:=s1+s<em>; // Вангую, неверно, это мне и не ясно
val(s1, e, k);
и т. д.
</em>

Чтв 28 Фев 2013 09:08:51
>>44174711
[&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;]
фикс

Чтв 28 Фев 2013 09:19:53












































































>>44174711 Анус себе отвангуй, WWW

Чтв 28 Фев 2013 09:20:59
program maxnumprogram;
var
s: string;
s1: string;
f: byte;
curnum: extended;
maxnum: extended;
begin
readln(s);
s1 := &amp;#39;&amp;#39;;
f := 0;
curnum := 0;
maxnum := 0;
for i := 1 to length(s) do begin
PPPP if f = 0 then begin
if s in [&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;] then begin
s1 := s1 + s<em>;
f := 1;
end;
end
else begin
if s<em> in [&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;] then begin
s1 := s1 + s<em>;
end
val(s1, curnum, 0);
if curnum > maxnum then maxnum := curnum;
s1 := &amp;#39;&amp;#39;;
f := 0;
else begin
end;
end;
end;
end.
</em></em></em>

Чтв 28 Фев 2013 09:22:16
>>44175160
Блядь, сраная вакаба.

Чтв 28 Фев 2013 09:23:21
>>44174711
Пишу, не уходи.


Чтв 28 Фев 2013 09:25:00
>>44174113
>Кодинг уровня /b/

Чтв 28 Фев 2013 09:29:38
>>44174711

Понимаешь, я все синтаксисы забыл давно.
Объясню все псевдоокодом, но с комментариями.

Cудя по всему у тебя там массив, то бишь динамическую память использовать не надо. Ну вот она строка s. Она же массив s[0], s[1], .... s[length(s)-1]
Делаем цикл для обработки этого дерьма. Ты любишь for. Ок.

//строку сам введешь, я совсем забыл, как она вводится

//тут всякие служебные переменные. их начальные значения.
flag:=0; //флаг - предыдущий символ цифра или хуй собачий
s:=0; //текущее число
max:=0; //текущее максимальное число
//тут всякие служебные переменные. их начальные значения.

//сам цикл
For i:=0 to length(s)-1 do
begin
read(s); //считали символ. он типа char

if s<em> in [&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;] then begin //если он цифра (я про in уже забыл все, но вроде так).
//теперь нужно прибавить эту цифру как кол-во единиц к обрабатываемому числу
//то есть s умножается на 10 и к этому прибавляется наша цифра
//я хз как в Паскале char переводится в числа. Мб прям команда есть. Или нужно из кода символа вычесть код нуля
s:=s*10 + s<em>-s[0];//вот тут должна быть эта операция. Ну ты понял. возможно, s<em> и s[0] должны быть тоже в какой-то операции.
flag:=1;//мы сейчас обработали цифру
end;
//теперь если символ не цифра
if s<em> not in [&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;] then begin
if flag=1 then begin //если предыдущий был цифрой. Стало быть, число закончилось

if s>max then max:=s;//новое текущее максимальное число
s:=0; //сброс текущего числа
flag:=0;//у нас левый символ, а не цифра
end;
end;//если предыдущий тоже был не цифрой, то ничего не делаем
end;//конец цикла
max - нашли
как-то так
</em></em></em></em>

Чтв 28 Фев 2013 09:31:57
>>44175441
>s:=s*10 + s-s[0];
<em>фикс

Да и вообще, я там часто вместо s писал просто s.
</em>

Чтв 28 Фев 2013 09:32:21
>>44175514
лол i (ай) не постится.

Чтв 28 Фев 2013 09:45:02
>>44175160
Благодарю, но немного не соответствует.
>byte;
>extended;
Школьник еще не выучил данные типы переменных :с.</em></em></em>

Чтв 28 Фев 2013 09:45:53
>>44175861
Наебнулся с перечислением переменных.

Чтв 28 Фев 2013 09:50:21
Все соснули!


$string = str_split($_GET[&amp;#39;string&amp;#39;]);
$arr = array();

foreach($string as $s)
if ( is_numeric($s) )
$arr[] = $s;

echo max($arr);

Чтв 28 Фев 2013 09:50:49
>>44175861
var
s: string;
s1: char;
max, f, cur, e, k, i: integer;
begin
readln(s);
max:=0;
f:=0;
s1:=&amp;#39;&amp;#39;;
cur:=0;
for i:=1 to length(s)-1 do begin
if s in [&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;] then begin
s1:=s1+s; // элементы типа char можно умножать?
val(s1, e, k);
cur:=cur*10+e;
f:=1;
end;

if s not in [&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;] then begin
if cur>max then max:=cur;
cur:=0;
f:=0;
end;
end;
end;
writeln(max);
end.

Пофиксил переменные.

Чтв 28 Фев 2013 09:57:14
>>44174113 ищи отсечки по пробелам и всем что не связано с цифрами.
То есть ставишь какую ни будь переменную в ноль, запускаешь цикл чтения строки побуквенно, если символ 0-9 то приравниваешь переменную с нулём к единице, потом идёт условие и наоборот

a1:=0; {индикатор чтения}
a2:=0; {наибольшее число}
a3:=length(stroka)
str1:=&amp;#39;&amp;#39;;
for a4:=1 to a3 do
begin

if a1=1 then str1:=str1+stroka[a4];
if stroka[a4]>=&amp;#39;0&amp;#39; and <=&amp;#39;9&amp;#39; then begin end
else

begin
if a1=0 then begin a1:=1;str:=&amp;#39;&amp;#39;; end;
else begin
a1:=0; delete( str, length(str),1);
a5:=strtoint(str);
if a5>a2 then a2:=a5;
end;
end;

Чтв 28 Фев 2013 10:00:30
>>44175441, что-то там не складывается, посему прошу обратить внимание на сей недокод.

Чтв 28 Фев 2013 10:04:44
>>44176237
>s1:=s1+s
Зачем тебе это?
Считал один символ, если он цифра, перевел его в числовой тип и прибавил к числу curn (текущее число из данной нам строчки), предварительно умноженному на 10.

Чтв 28 Фев 2013 10:09:07
>>44176343
Пофиксил.
Паскаль сопротивляется выражению
if s not in [&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;] then begin

Чтв 28 Фев 2013 10:12:41
>>44176441
if not s in [&amp;#39;0&amp;#39;..&amp;#39;9&amp;#39;] then begin
Тоже не прокатило.

Чтв 28 Фев 2013 10:13:22
>>44175983
PHP-обезьяна - не программист. и даже не человек.

Чтв 28 Фев 2013 10:14:39
>>44176522
Ну очевидно же, что not там нельзя выходит использовать. Мб там надо скобки ставить или ! вместо not. Или просто введи булеановскую переменную, пусть она равна true, если символ - цифра. А для нецифры условие будет если эта переменная равна false.

Чтв 28 Фев 2013 10:15:31
>>44176538
Другого я и не ждал, база данных стереотипов.

Чтв 28 Фев 2013 10:18:46
>>44176593
Не стереотип, а здравый смысл.

Чтв 28 Фев 2013 10:19:51
>>44176580
Я уже писад if not переменная равна/больше/меньше переменной then do
Дело либо в then begin, либо я не знаю.
А ! это из С++, если не ошибаюсь.

Чтв 28 Фев 2013 10:28:21
Ебош регекспом и выбирай максимум, паскаль нинужен
http://www.regexpr.ru/?pattern=(\d%2B)&amp;subject=hiukgdrghki3y27859yhjgio;sh+vutl4s87ewyt945%3F,%0D%0A1213+457674589757+6478598499,

Чтв 28 Фев 2013 10:29:17
Ебать ты дебил. В цикле рассматриваешь каждый символ, если он число, то добавляешь в другую строковую переменную символы, пока они есть числами. Потом переводишь строку в число и сравниваешь с максимумом. Вот тебе код процедуры, которую вызовешь, найдя число. Не знаю сработает ибо пишу по памяти.
procedure yoba(x:integer; s:string);
var i:integer;
begin
i:=x; //x позиция символа числа
while (s<=&amp;#39;9&amp;#39;) and (s<em>>=&amp;#39;0&amp;#39;)
then begin
a:=a+s<em>;
i:=i+1;
end;
c:=strtoint(a); {забыл как в паскале переводится с строки в число, с - глобальная переменная}
end;
</em></em>

Чтв 28 Фев 2013 10:33:40
>>44177009
ну ясен хуй опишешь переменную a. И не забудь её обнулять.

Чтв 28 Фев 2013 10:37:32
>>44175995
Флаг тут вообще не нужен, мне кажется. Или недокод не завершен. В общем, котаны, у меня все идет жопой, так как паскаль не хочет принимать if not then begin. Однако большая часть работы выполнена, добра всем вам.
Алсо, посоветуйте, чем заняться после изучения паскаля. Планирую поступить на факультет защиты информации в какой-нибудь быдловуз, за сим интересно то, что поможет продвинуться.

Чтв 28 Фев 2013 10:49:42
>>44177280
благодарю
фикс


← К списку тредов