палиндромы
|
|
snaper1993 | Дата: Понедельник, 03.11.2008, 05:06 | Сообщение # 31 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| Здесь написано 2 цикла! А кокой из них!И еще а почему нужно писать цикл, который перечислит все нечётные числа в диапазоне от n до 2n.
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Alexander | Дата: Понедельник, 03.11.2008, 05:12 | Сообщение # 32 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (snaper1993) Здесь написано 2 цикла! плохо считаешь, на самом деле 3. Quote (snaper1993) А кокой из них! а в чём между ними разница? И ещё, на конце вопросительных предложений ставят знак вопроса, а не восклицательный. Quote (snaper1993) И еще а почему нужно писать цикл, который перечислит все нечётные числа в диапазоне от n до 2n. а по твоему как должно быть?
Скажем дружно- нафиг нужно!
|
|
| |
snaper1993 | Дата: Понедельник, 03.11.2008, 05:19 | Сообщение # 33 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| ну я не понимаю в конце! Вот ми вывели на екран 11 а как вывести еще й 101? Я понимаю што нужно проверить палиндром или не палиндром (ето у меня получаеться ) но как вывести ево на екран!Подскажи поалуста!
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Alexander | Дата: Понедельник, 03.11.2008, 05:29 | Сообщение # 34 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| мы ввели тройку, значит нужно проверить числа 3, 4, 5, 6. 4 и 6 отпадают сразу, поэтому проверяем только 3 и 5. Использовать будем цикл Seqular'a, т.к. он проще(см. посты 17 и 21). начинаем цикл: 3--> нечётное --> переводим в двоичную- 11- видим, что палиндром(выводим на экран). 4--> чётное --> следующий виток. 5--> нечётное --> переводим в двоичную- 101- видим, что палиндром(выводим на экран). 6--> чётное --> следующий виток. конец цикла.
Скажем дружно- нафиг нужно!
Сообщение отредактировал Alexander - Понедельник, 03.11.2008, 05:30 |
|
| |
snaper1993 | Дата: Понедельник, 03.11.2008, 05:37 | Сообщение # 35 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| а почему у Seqular'a, переменная n а не l вот етого я не понимаю!
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Alexander | Дата: Понедельник, 03.11.2008, 06:08 | Сообщение # 36 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (snaper1993) а почему у Seqular'a, переменная n а не l вот етого я не понимаю! Он написал "большой" цикл, а там где "l"- это "маленький", независимый цикл внутри этого "большого".
Скажем дружно- нафиг нужно!
|
|
| |
snaper1993 | Дата: Понедельник, 03.11.2008, 06:26 | Сообщение # 37 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| var x,l,i,n:longint; c:char; s:string; begin ReadLn(x); i:=1; while x<>0 do begin inc(i); s:=s+chr(x mod 2+$30); x:=x div 2; end; l:=Length(s); for i:=1 to l div 2 do begin c:=s[i]; s[i]:=s[l+1-i]; s[l+1-i]:=c; end; writeln(s); for i:=l to l+l do begin if (i mod 2=1) then c:=s[i]; s[i]:=s[l+1-i]; s[l+1-i]:=c; end; if s[i]<>s[l-i+1] then writeln(s); if (i mod 2<>1) then writeln(''); end. Ну вот задачка но чото не правильно! Я уже запутался! Голова не варит! Помогите мне!
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Alexander | Дата: Понедельник, 03.11.2008, 07:24 | Сообщение # 38 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (snaper1993) Голова не варит! Помогите мне! боян, так все пишут. А если действительно "Голова не варит", то надо идти в специальные учебные заведения для детей с неторопливым развитием, там таких задач нет. Это идиотизм. Не надо написанные здесь куски расставлять наугад в разном порядке- это не поможет.
Скажем дружно- нафиг нужно!
|
|
| |
snaper1993 | Дата: Понедельник, 03.11.2008, 07:30 | Сообщение # 39 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| Alexander, я понимаю что тебе ето всьо легко ,а мне нет, и я не понимаю как делать вот ето """"3--> нечётное --> переводим в двоичную- 11- видим, что палиндром(выводим на экран)."
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Alexander | Дата: Понедельник, 03.11.2008, 07:48 | Сообщение # 40 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Напиши код, который перечисляет все нечётные числа от n до 2n(этот код уже приводился, просто найди его и выпиши).
Скажем дружно- нафиг нужно!
|
|
| |
snaper1993 | Дата: Понедельник, 03.11.2008, 08:09 | Сообщение # 41 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| For i := n to n+n do Begin If (i mod 2 = 1) then Writeln(i:4); End. Ну вот он!
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Alexander | Дата: Понедельник, 03.11.2008, 08:19 | Сообщение # 42 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| после end должна стоять точка с запятой. Теперь эти числа не просто выводим на экран, а выводим на экран в двоичной системе счисления. Т.е. заменяем WriteLn на код, который переведёт i в двоичную систему счисления. Не забываем про "begin .. end".
Скажем дружно- нафиг нужно!
|
|
| |
snaper1993 | Дата: Понедельник, 03.11.2008, 08:26 | Сообщение # 43 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| For i := n to n+n do Begin If (i mod 2 = 1) then begin c:=s[i]; s[i]:=s[l+1-i]; s[l+1-i]:=c; - и выводим s! end; End; Так или нет!
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Alexander | Дата: Понедельник, 03.11.2008, 08:30 | Сообщение # 44 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (snaper1993) Так или нет! нет.
Скажем дружно- нафиг нужно!
|
|
| |
snaper1993 | Дата: Понедельник, 03.11.2008, 08:58 | Сообщение # 45 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| For i := n to n+n do Begin If (i mod 2 = 1) then begin For i := n to n+n do Begin If (i mod 2 = 1) then begin c:=s[i]; s[i]:=s[l+1-i]; s[l+1-i]:=c; - и выводим s! end; End; end; End; А может вот так!Добавлено (03.11.2008, 01:34) --------------------------------------------- Ой я чото ните нажал вот код правильно? For i := n to n+n do Begin If (i mod 2 = 1) then Begin ReadLn(x); i:=1; while x<>0 do begin inc(i); s:=s+chr(x mod 2+$30); x:=x div 2; end; l:=Length(s); for i:=1 to l div 2 do begin c:=s[i]; s[i]:=s[l+1-i]; s[l+1-i]:=c; end; WriteLn(s); end; End; Добавлено (03.11.2008, 01:58) --------------------------------------------- Незнаю ну если вот етот код даже не наближен к действительности тогда я пас! var x,l,i,n:longint; c:char; s:string; begin For i := n to n+n do Begin If (i mod 2 = 1) then Begin ReadLn(x); i:=1; while x<>0 do begin inc(i); s:=s+chr(x mod 2+$30); x:=x div 2; end; l:=Length(s); for i:=1 to l div 2 do begin c:=s[i]; s[i]:=s[l+1-i]; s[l+1-i]:=c; end; for i:=1 to l div 2 do begin if s[i]<>s[l-i+1] then writeln (s); end; end; end; end.
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |