KMA
Долгожитель
|
Ridge, я конечно дурак, так как не могу найти закономерности чисел в треугольнике Паскаля, ты можешь изложить алгоритм, как эти числа образуются? У меня идея такова. Пишем первый элемент 1, затем во второй 1 и 1, т. е. просто тупо записать элементы в последовательность, но по определенному алгоритму. А выводить из одного можно путем:
Code Sample:
k:=0;{постоянный индекс массива} for i:=1 to n do {n количество строк которое ты будешь выводить} begin j:=0;{j столько элементов в строке, какой номер строки} while j<>i do begin inc (j); inc (k); write (a[k], ' ') end; writeLn; {переходим на новую строку} end;
Поищу по и-нету алгоритм построения треугольника построения Паскаля... надеюсь, что смогу помочь.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 21 мая 2007 0:29 | IP
|
|
Ridge
Новичок
|
та там просто с теугольником Паскаля Pij=Pi,j-1 + Pi-1,j-1; тоесть число в треугольнике равно сумме 2х вышестоящих, при том что края треугольника всегда равны 1. нарисуем его так: 1 1 1 1 2 1 1 3 3 1 ( 1 2+1 2+1 1) 1 4 6 4 1 (1 3+1 3+3 3+1 1) и т.д. Динамический массив пример видел. Не то, т.к. это я иду по университетскому курсу физ.-тех. фака, а там не дают динамических массивов
|
Всего сообщений: 19 | Присоединился: май 2007 | Отправлено: 21 мая 2007 0:37 | IP
|
|
KMA
Долгожитель
|
Выложи сюда с динамическим массивом, а я преобразую к обыкновенным.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 21 мая 2007 0:41 | IP
|
|
kub
Новичок
|
1)вот условие: пусть даны три слова. необходимо определить буквы, которые встречаются во всех словах вот текст проги: program zadacha; var sn1,sn2,sn3,srez:set of char; s1,s2,s3:string; i:integer; k:char; procedure b(s1,s2,s3:string); begin for i:=1 to length(s1) do sn1:=sn1+ [s1[i}}; for i:=1 to length(s2) do sn2:=sn2+ [s2[i}}; for i:=1 to length(s3) do sn3:=sn3+ [s3[i}}; srez:=sn1*sn2*sn3; end; begin writeln('vvedite 1,2,3 slovo'); readln(s1); readln(s2); readln(s3); b(s1,s2,s3); writeln('simvol vezde='); for k:=#1 to #255 do if k in srez then write(k,' '); readln; end. А как преобразовать эту программу чтобы использовался модуль(нужно решить эту же задачу с использованием модуля)???????? Заранее спасибо
|
Всего сообщений: 10 | Присоединился: апрель 2007 | Отправлено: 21 мая 2007 21:46 | IP
|
|
perfectprincess
Новичок
|
(Сообщение отредактировал perfectprincess 24 мая 2007 21:06)
|
Всего сообщений: 1 | Присоединился: май 2007 | Отправлено: 21 мая 2007 23:38 | IP
|
|
KMA
Долгожитель
|
kub, я тебе напишу общий принцип создания модуля, давай ты попробуешь, если не получиться, то применим к твоей программе. Значит так, общий вид модуля:
Code Sample:
unit имя; {заголовок модуля} interface {интерфейсная часть, здесь только имена твоих процедур и функций, они будут видимы извне} {глобальный процедуры и функции} procedure proc1 (Var x: integer; k: byte); funtion func1 (s: string): byte; implementation {реализуемая часть, здесь полностью описываешь свои процедуры и функции} procedure proc1 (var x: intger; k: byte); Begin {реализуемый код} End; function func1 (s: string): byte; Begin {реализуемый код} End; BEGIN {сюда пишешь то, что ты хотел бы выполнить, когда твой модуль подключен, как правило сюда ничего не пишут, но я приведу просто пример} writeLn ('Новый модуль подключен'); END.
Понятное дело, что proc1 и func1 это просто примерыа не обязательный элементы. Обязательные я выделил жирным. Хочу добавить очень важное замечание: имя модуля и его заголовок (после unit) должны совпадать. Далее, если у тебя BP то строиться модуль по следующему принципу Compile-> Destination меняем на Disk. Потом Compile и Build. В итоге у тебя должен получиться модуль с именем имя.tpu.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 23 мая 2007 0:14 | IP
|
|
KMA
Долгожитель
|
ривет всем!!(( у меня большие проблемы с информатикой..особенно с Паскалем..буду очень благодарна,если поможете решить задачки....
и Заранее спасибо!!! вы меня очень спасете!!( Еще одна просьба, вышлите,пожалуйста, программу на katiex@mail.ru ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО!! чмок всех!)
Слова помочь и решить, отличаются по лексическому значению, и синонимами не являются. Это для справки. Буду много-много раз повторять, пока все не поймут. ЗДЕСЬ НЕ РЕШАЮТ, ЗДЕСЬ ПОМОГАЮТ. Что-то не понятно, я постараюсь объяснить более доходчиво. Что-то не получается? Я объясню, не получаться может многое. Я готов на длительные беседы, лишь бы это было полезно Вам. Давайте разберемся. Но решать за вас задание я не буду. Это я сделаю за деньги. Хотите, пишите в личку, там договоримся и о сроках и о выполнении. Не хотите платить, тогда ищите по инету задания, просите знакомых, или же ПЫТАЙТЕСЬ РАЗОБРАТЬСЯ. Честно, я очень хочу показать, что это интересно. И еще, это не доска объявлений, это ФОРУМ. Присылать решения к вам на майл никто не будет, на это 2 причины. 1) Жалко трафика, 2) Жалко своего времени, потому как за спасибо долго не протянешь. Я знаю здесь людей на форуме, никто (если только новенькие, но шанс очень мал) вам тупо решать не будет. Поэтому выбор за вами.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 23 мая 2007 0:30 | IP
|
|
Ridge
Новичок
|
Выдала весь курс по Паскалю за 1й курс ВУЗа в одном сообщении...ужОс. Я например согласен с КМА на все сто. Очень не люблю людей, которые даже не пытаются разобраться и написать 2-3 строки. И при этом платить не хотят. Пример из жизни: Заходит Ридж в универ, встречает одногруппника. -Привет Ридж! -Привет Макс. -Ридж, нууу решииии мне курсовую по Фортрану... -Ты живешь в общаге, у тебя брат на втором курсе, вот де он брал? -Они покупали, за 10 у.е. -А типа зачем платить,если добрый Ридж любит делать халяву? за бесплатно? -Ну почему... за пиво... и т.д. При том что Ридж не пьет с одногруппниками... кошмар. КМА, вся проблема в том, что мне нужно преобразовать свою программу в 2 одномерных, а с динамическим массивом там все по-другому. Можешь пожалуйста попробовать?
|
Всего сообщений: 19 | Присоединился: май 2007 | Отправлено: 23 мая 2007 21:53 | IP
|
|
kub
Новичок
|
Вот вроде написал: unit sds; interface procedure b(s1,s2,s3:string); var srez:set of char; implementation procedure b; var sn1,sn2,sn3:set of char; i:integer; begin for i:=1 to length(s1) do sn1:=sn1+[s1[i}}; for i:=1 to length(s2) do sn2:=sn2+[s2[i}}; for i:=1 to length(s3) do sn3:=sn3+[s3[i}}; srez:=sn1*sn2*sn3; end; end. program zadacha; uses sds; var k:char; s1,s2,s3:string; begin writeln('vvedite 1,2,3 slovo'); readln(s1); readln(s2); readln(s3); b(s1,s2,s3); writeln('bukva vo vsex 3 slovax='); for k:=#1 to #255 do if k in srez then write(k,' '); readln; end. Но какой-то косяк с srez может посмотрите(в srez запоминаются все символы которые были при всех вызовах проги, srez вроде не обнуляется так сказать
|
Всего сообщений: 10 | Присоединился: апрель 2007 | Отправлено: 23 мая 2007 22:37 | IP
|
|
Ridge
Новичок
|
так задай ему значение "0" в начале процедуры.
|
Всего сообщений: 19 | Присоединился: май 2007 | Отправлено: 23 мая 2007 23:02 | IP
|
|
|