KMA
Долгожитель
|
Короче он не может найти драйвера для инициализации графики. Найди файл egavga.bgi, зампомни его адрес. А потом напиши следующие initGraph (gs, gm, 'адрес '); Ну заместо адрес пишешь адрес где валяется этот файл. Он должен, наверное, быть рядом в папке с Паскалем.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 30 янв. 2006 11:47 | IP
|
|
Guest
Новичок
|
В текстовом файлы хранится список товаров: ножницы, ручки, карандаши и линейки. 1. Создать текстовый файл, согласно структуре варианта. 2. написать процедуру считывания файла 3. Процедура сортировки по названию товара. 4. Процедура вывода на экран информации о товаре название которого введено с клавиатуры. Организовать меню в основной программе.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 1 фев. 2006 13:34 | IP
|
|
KMA
Долгожитель
|
Парень, ты конечно извини, но по пользуйся поиском, и переделай задачку под себя, там пару строк переписать. Или говори до того места, где у тебя ничего не получается.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 2 фев. 2006 10:51 | IP
|
|
azatik
Удален
|
Люди добрые если не трудно помогите пожалуйста я с этими задачами целую неделю мучаюсь, вот они: 1. Даны действительные числа а(1), :, а(15). Получить а=1/15*(а(1)+:+а(15)); а=1/14*а2(1) - а2+:+(а1/215)-а))): program Lab_7; uses crt; var a:array [1..15] of integer ; n,c,k,d,c1,d1:real; i,j:integer; begin clrscr; randomize; for i:= 1 to 15 do begin a{{i}}:=random(100); writeln('a(',i,')=',a{{i}}); c1:=c1+a{{i}}; {c1=a(1)+...+a(15)} begin k:=2; repeat k:=k-0.1; {не уверен меняется ли k от 2 до 0,5, хотя должно} d1:=d1+(exp(k*ln(a{{i}})-c)); {d1+a^2(1)-a^2+...+(a(^1/2)15))-a)))} {write(k:2:2);} until k>0.5; end; end; c:=1/15*c1; d:=1/14*d1; writeln('c1=',c1:4:2,' | d1=',d1:4:2); writeln('c=',c:4:2,' |d=',d:4:2); readkey; end. 2. Дано натуральное число n, символы S1,:,Sn. Удалить из данной последовательности все группы букв <abcd>: program Lab_9; uses crt; var o:string; i,k,n,j:integer; S: array [1..100] of char; begin clrscr; write('Vvedite kolichestvo elementov n='); readln(n); for i:= 1 to n do begin write('Vvedite ',i,' element '); readln(s{{i}}); o:=o+s{{i}}; end; if pos('abcd',o)<>0 then begin for i:= 1 to j do begin s{{i}}:=o{{i}}; write(S{{i}}:4); end; writeln('!!!!!'); delete(o,pos('abcd',o),4); j:=length(o); writeln('Ishodnaya posledivatelnost:'); for i:=1 to n do write(s{{i}}); writeln; writeln('rezultat:'); for i:= 1 to j do begin s{{i}}:=o{{i}}; write(S{{i}}:4); end; end; readkey; end. Или: program Lab_9; uses crt; var p:string; s1:string; i,j,k,n:integer; begin p:='abcd'; clrscr; writeln('Vvedite stroku'); readln(s1); if p in s1 then writeln(s1-p); {if pos(p,s1) then delete(s,p,4);} writeln(length(s1)); readkey; end. Не знаю заменить их на пробелы или удалить, всё равно не получается. 3. Даны символы S1, S2, : Известно, что символы S1 отличается от пробела и что среди S2, S3; имеется хотя бы один пробел. Рассматривается S1, :, SN символы, предшествующие первому (N - заранее известно). Преобразовать последовательность S1, : SN: заменить все малые буквы на одноимённые большие: program Lab_10; uses crt; var n,i:integer; s: array [1..100] of char; begin clrscr; write('Vvedite n='); readln(n); for i:= 1 to n do begin write('Vvedite ',i,' element '); readln(s{{i}}); end; for i:= 1 to n do begin write(s{{i}}); end; writeln; write('rezultat: '); for i:= 1 to n do begin s{{i}}:= UpCase(s{{i}}); write(s{{i}}); end; readkey; end. Но здесь надо выводить (и преобразовывать) только до пробела, т.е. до 1-го или 2-го символа, пробовал оператором While, но циклит, если <'_', то вообще не чего не выводит, а если >'_', то зацикливается, выводя последний элемент. Помогите, пожалуйста, если не трудно напишите код(хотя бы не полный)!!! Перед публикацией листингов заменяйте индекс массива {{i}} на { { i } } (без пробелов) или [ i ] (с пробелами). Иначе форум воспринимает индекс как тег курсива.
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 23 фев. 2006 19:30 | IP
|
|
miss_graffiti
Долгожитель
|
так. стоп. первая задача - дан массив, а что ты пытаешься посчитать? и что не получается? вторая: совсем ерунду делаешь. это ж не с++, чтобы компилятор пропускал перлы вроде if pos(p,s1) then условие должно быть типа boolean, а не integer. да и на writeln(length(s1)) скорее всего ругаться будет (если речь о турбопаскале). а зачем тебе, собственно, длина строки?! и алгоритм странный. что ты должен делать: 1.считываешь строку. 2. проверяешь, есть ли в ней заданная последовательность. 3. если есть, удаляешь. 4. проверяешь еще раз.... если есть -..., если нет - выводишь то, что получилось. третья. что такое "меньше пробела"?! глупость. тебе надо проверять, если i<позиции первого пробела, то..... если хочешь подробнее - стучи в аську 276337193.
|
Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 23 фев. 2006 21:36 | IP
|
|
KMA
Долгожитель
|
угу, azatik прости меня пожалуйста, но вторая задача будет сильно ругаться, если ты сразуже не поменяешь array [1..100] of char на string (обращение по тому же типу, + еще дополнительный модуль автоматически подключаешь, который даст тебе возможность использовать всякие процедурки типа pos, length и т. д.). Тут дело в том, что такой метод действительно используется в С++, ты, наверное скачивал чего из инета. По поводу второй еще могу добавить, чтобы постоянно проверять строку снова и снова, то это не рационально, лучше так проверил, если нашел, то удалил, и снова вернулся на столько символов назад, на сколько мы из удалили, ты же последовательно сть то знаешь
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 23 фев. 2006 22:37 | IP
|
|
miss_graffiti
Долгожитель
|
KMA, подожди.... а кто отменил цикл с постусловием и предусловием? хоть while pos(.....)<>0 do ты считаешь, не рационально? паскаль (чистый паскаль, не делфи) не любит length. а информация о длине строки хранится в s[0]. правда, по-моему, ее в число еще надо преобразовывать. ну, на то нам val и дан. на массив даже внимания не обратила.... KMA, молодец, что заметил.
|
Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 23 фев. 2006 23:12 | IP
|
|
KMA
Долгожитель
|
Не, это конечно рационально, но все таки для пояснения и продолжения идеи воспринимать строку как массив символов для azatik я просто ему предложил одно из выставленных условий. А вот по поводу чистого pascal и length ты не права, он ее очень даже любит, сам смотрел в справочнике, да и не в одном, в моем сборнике задач по Паскалю стоит первой процедурой, которую надо изучить в теме строки, так что здесь, ты не права. _____ У меня вопрос по offу. Кто нибудь знает как надо писать программу оболочку-тест на Делфи. У меня на эту тему может еще одна исследовательская будет. Если есть какие-нибудь идейки, то подкиньте, пожалуйста.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 фев. 2006 20:18 | IP
|
|
miss_graffiti
Долгожитель
|
KMA, от компилятора зависит, наверное. и от того, BP или TP. у меня потому что ругается. в ответ на off. а что именно она должна делать?... мне, в принципе, сейчас тему курсовой выбирать все равно... могли бы совместный проект сделать.
|
Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 24 фев. 2006 20:50 | IP
|
|
KMA
Долгожитель
|
Короче заходи на внешняя ссылка удалена там специальная тема есть, надо дико поработать, если все получиться, то возможно мне даже поступать никуда не надо будет, сами меня возьмут.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 фев. 2006 12:11 | IP
|
|
|