KMA
Долгожитель
|
ditar есть такая тема, не знаю, изучал ли ты метки или нет, но можно сделать так:
Code Sample:
while true do begin u:=readkey; case u of #49:t.Moveto(-1,1); #50:t.Moveto(0,1); #51:t.Moveto(1,1); #52:t.Moveto(-1,0); #54:t.Moveto(1,0); #55:t.Moveto(-1,-1); #56:t.Moveto(0,-1); #57:t.Moveto(1,-1); #27: goTo graph_end end; end; graph_end: {далее твой код}
Но это пример плохого программинга, есть более реальные вещи, заменить твой бесконечный цикл этим:
Code Sample:
repeat u:=readkey; case u of #49:t.Moveto(-1,1); #50:t.Moveto(0,1); #51:t.Moveto(1,1); #52:t.Moveto(-1,0); #54:t.Moveto(1,0); #55:t.Moveto(-1,-1); #56:t.Moveto(0,-1); #57:t.Moveto(1,-1); end; until u=#27;
Твой проблема была в том, что ты делал бесконечный цикл (выполнять пока правда (при этом правда константа)). Аналог вечных циклов, типа
Code Sample:
jmp $.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 10 мая 2007 22:59 | IP
|
|
kub
Новичок
|
Народ, если кто-либо разбирается, то помогите пожалуста дан текстовый файл input.txt, состоящий из слов, разделенных пробелами. В конце предложения стоит точка. Найти самое длинное слово-перевертыш, если таких слов несколько – рассмотреть все. Найденные слова вывести на экран и в файл output.txt. Заранее спасибо
|
Всего сообщений: 10 | Присоединился: апрель 2007 | Отправлено: 10 мая 2007 23:16 | IP
|
|
KMA
Долгожитель
|
хотя интересно, что будет если решить задачку не в общем, а в частном виде - понравится ли это преподавателю.
Если в частном, то можно обойтись 2мя переменными вообще, если же больше, то придеться заводить массив, моя идея такова: Задаем вектор, состояйщий из стольки же элементов, сколько строк. На месте первого элемента ставим количество отрицательных элементов в первой строке, во втором количество отрицательных элементов во второй строке, и т. д. Ну и длаее по номеру можно легко отследить максимально или нет там количество элементов. Приведу код:
Code Sample:
const row=2; col=4; Type mas=array [1..rowl, 1..col] of integer; vect=array [1..row] of integer; VAR B: mas; nOtrVect: vect; i, j: byte; {счетчики} nOtr: integer; {функции и процедуры} function otrInRow(m: mas; i: byte): byte; Var j,k:byte; Begin k:=0; for j:=1 to col do if m[i,j]<0 then k:=k+1; otrInRow:=k; End; procedure showRow(m: mas; i: byte); Begin for j:=1 to col do write(m[i, j], ' '); writeln; End; {тело программы} BEGIN {опускаю формирование массива} {Вывести массив можно так} for i:=1 to col do showRow (B, i); {исполняем то, о чем я говорил} nOtr:=0 {хранит максим. число отрицат. элем. в строке} for i:=1 to row do begin nOtrVect:=otrInRow (B, i); if nOtr<=nOtrVect[ i ] then nOtr:=nOtrVect[ i ] end; {теперь выведем соответствующие строки} for i:=1 to row do if nOtrVect[ i ]=nOtr then showRow (B, i); END.
(Сообщение отредактировал KMA 10 мая 2007 23:47)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 10 мая 2007 23:38 | IP
|
|
KMA
Долгожитель
|
Народ, если кто-либо разбирается, то помогите пожалуста дан текстовый файл input.txt, состоящий из слов, разделенных пробелами. В конце предложения стоит точка. Найти самое длинное слово-перевертыш, если таких слов несколько – рассмотреть все. Найденные слова вывести на экран и в файл output.txt. Заранее спасибо
Приводи код, и то что пытался сделать, и перестань тупо скидывать задачи, их поэтому и игнорируют.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 10 мая 2007 23:50 | IP
|
|
ditar
Новичок
|
KMA, спасибо за помощь!
|
Всего сообщений: 6 | Присоединился: октябрь 2006 | Отправлено: 10 мая 2007 23:58 | IP
|
|
KMA
Долгожитель
|
Здравствуйте! Подскажите, пожалуйста, как в паскале записать такую формулу: Exp в степени (-1)/1+ Exp в степени (-1)?
Реально записать можно так:
Code Sample:
exp(-1)/(1+exp(-1))
Но реально ребят, вам гонять одну и ту же функцию по одному и тому же месту не очень хорошо, поэтому лучше сделать так:
Code Sample:
a:=exp (-1); {ну а далее запись будет выглядеть так} a/(a+1)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 11 мая 2007 0:20 | IP
|
|
KMA
Долгожитель
|
сть такая прога, часы. Не я ее писала но очень интер как она работает или может кто знает где прочитать об этих модулях поподробней. Прога типа подключает файл какой но он вроде написан как то не по нашому))) Спасибо!!
А как должны писать еще программы? По русски программ никто не пишет, к сожалениею, все на английсокм =) Если ты не знаешь что такое ассемблер, то это тебе будет понять очень сложно. Но если есть желание, достань полный модуль и вместе поразбираем.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 11 мая 2007 0:25 | IP
|
|
Ridge
Новичок
|
Вот пример треугольника Паскаля (2мерный массив) ........ a[1,1]:=1; for i:=1 to 10 do for j:=1 to i do begin a[i,j]:=a[i,j-1]+a[i-1,j-1]; write ( ' ', a[i,j]); if (i=j) then writeln; ...... это я сделал за 10 минут. Ну не могу, ну не могу я сделать так, чтобы одномерные массивыобращаились к предыидущей строчке. Помогите плиззз
|
Всего сообщений: 19 | Присоединился: май 2007 | Отправлено: 11 мая 2007 0:48 | IP
|
|
KMA
Долгожитель
|
Числа Фибоначчи не подойдут? Вначале тупо заполняешь массив, а потом выбираешь. Поясни, пожалуйста, свою задачу по конкретнее, что должно быть? Она заключается лишь в том, чтобы показать данный треугольник на экран? Или же занести каким то образом в массив. Если последнее, то тогда объясни по какому принципу и как должны они быть построены, скольки мерная матрица и т. д.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 11 мая 2007 0:54 | IP
|
|
Ridge
Новичок
|
ОЙ.я писал просто уже. Но конечно же повторю. На экран вывести треугольник Паскаля (неважно сколько строчек) Использую оту формулу.а[i,j]=a[i,j-1]+a[i-1,j-1]; где a[i,j] - используемый элемент. i-номер строки j- номер столбца или наоборот. Нужно выполнить 3мя способами: а)исп 2мерный массив; б)исп два 1мерных; в) исп. 1 одномерный; вывестись должно такое: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ..... ........ a[1,1]:=1; for i:=1 to 10 do for j:=1 to i do begin a[i,j]:=a[i,j-1]+a[i-1,j-1]; write ( ' ', a[i,j]); if (i=j) then writeln; ...... Это пример двумерного. но остальные не получаются (Сообщение отредактировал Ridge 11 мая 2007 7:25) (Сообщение отредактировал Ridge 11 мая 2007 9:24)
|
Всего сообщений: 19 | Присоединился: май 2007 | Отправлено: 11 мая 2007 7:23 | IP
|
|
|