Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
1173.
Kickboxer
(13.05.2006 18:28)
0
Забыл сказать что решить задачки нужно ПРоцедурами а в теле проги уже только эти процедуры вставить ...
Ответ: 3) uses CRT; const source: String = ''AAAA,AAA,AAAA,BBB,BBBB,CC,BBB,D,D,F.EE,EE.''; max = 30; TYPE ArrayOfWords = array[1..30] of string;
procedure GetWords(s: String; var aw: ArrayOfWords; var count: Integer); var i, m, k: Integer; begin {находит число слов, записывает в aw те, которых еще нет} count:=0; m:=length(s); if pos(''.'', s) < m then m:=pos(''.'', s)-1; {Обрабатывать только до точки} i:=1; while i <= m do begin if (UpCase(s[i]) >=''A'') and (UpCase(s[i]) <= ''Z'') then begin count:=count+1; {очередное слово найдено} aw[count]:= s[i]; while (i+1 <=m) and (s[i+1] <> '','') do begin i:=i + 1; aw[count]:= aw[count] + s[i] end; {проверяем, есть ли уже такое} for k:=1 to count-1 do {проверка со второго слова} if aw[k] = aw[count] then begin count:=count - 1; Break; {немедленный выход из цикла for} end end; i:= i + 1; end end;
procedure PrintWords(aw: ArrayOfWords; count: Integer); var i: Integer; begin for i:=1 to count do WriteLn(i:3,'') '',aw[i]); end;
var a: ArrayOfWords; c: Integer; BEGIN ClrScr; GetWords(source, a, c); PrintWords(a, c); END.
|
1172.
Kickboxer
(13.05.2006 17:58)
0
заранее благодарю !!!
Ответ: По четвертой задаче не понятно, что понимать под "символьной последовательностью", "коректно"? И как "обрабатывать"? А в третьей: исходная строка может содержать иные сиволы? (кроме латинских букв, запятых и точек) - то есть, пробелы, например ...
|
1171.
Kickboxer
(13.05.2006 17:58)
0
3. Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 прописных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать: эту же последовательность слов, но удалив из нее повторные вхождения слов. 4.Взяв за основу предыдущее задание, реализовать ввод из текстового файла и обработку символьных последовательностей, состоящих из любых символов. В программе должны быть предусмотрены соответсвтующие процедуры и функции, корректно обрабатывающие входные данные, согласно предыдущему заданию. Результат должен запоминаться тоже в текстовом файле. 5. Заполнить стэк значениями произвольно выбранного типа. Удалить каждый второй элемент стэка.
Ответ: 2) const N = 10; coeff = 12.0; TYPE matrics = array[1..N, 1..N] of Real; arr = array[1..N] of Real;
procedure FillMatrics(var m: matrics); var i, j: Integer; begin for i:=1 to N do for j:=1 to N do m[i,j]:=random*coeff; end;
procedure ShowMatrics(m: Matrics); var i, j: Integer; begin for i:=1 to N do begin for j:=1 to N do Write(m[i,j]:8:4); WriteLn end; end;
procedure GetMids(m: Matrics; var mid: arr); var i, j: Integer; begin for i:=1 to N do begin mid[i]:=0; for j:=1 to N do mid[i]:=mid[i] + m[i,j]; mid[i]:= mid[i]/N end; end;
VAR matr: matrics; mids: arr; i: Integer; BEGIN FillMatrics(matr); ShowMatrics(matr); GetMids(matr, mids); for i:=1 to N do WriteLn(''В строке '',i:3,'' среднее арифметическое '', mids[i]:12:4); END.
|
1170.
(13.05.2006 17:49)
0
Помогите с задачками для Паскаля . Я бы мозги поделал бы да некогда долгов много ! Вот собственно и задачки .
1.Задав одномерный массив А из целочисленных данных типа SHORTINT, длиной N<=20, найти, сколько элементов массива A={a[i]} удовлетворяют условию: c<=a[i]<=d. 2. Задана квадратная матрица A размером N*N (N <= 10), состоящая из действительных элементов. Найти среднее арифметическое элементов каждой из строк этой матрицы.
Ответ: 1)const max_elem : Integer = 20; TYPE TArray = array[1..max_elem] of shortint;
procedure FillArray(var ar:TArray; var count: Integer); begin {Здесь можно вставить запрос сколько ввести} count:=0; while count < max_elem do begin count:= count + 1; ar[count]:= random(255) - 128; end; end;
procedure ShowArray(ar: TArray; count: Integer); var i: Integer; begin for i:=1 to count do Write(ar[i]:8); Writeln end;
function Get(ar: TArray; count: Integer; minel, maxel: shortint): Integer; var c, i: Integer; begin c:=0; for i:=1 to count do if (ar[i] >= minel) and (ar[i] <= maxel) then c:=c+1; Get:=c end;
VAR a: TArray; no: Integer; mi, ma: shortint; BEGIN FillArray(a, no); ShowArray(a, no); mi:=-20; ma:=+100; WriteLn(''Число элементов в интервале ['',mi,'', '',ma,''] равно: '' , Get(a, no, mi, ma)); END.
|
1169.
Серёга11
(12.05.2006 20:38)
0
Спасибо, очень помог!!!
|
1168.
Серёга11
(11.05.2006 21:36)
0
Здарова Боря!!! Помоги решить одну прогу-задана квадратная матрица размером N*N (N<=10), состоящая из действительных элементов. Найти сумму наибольших элементов каждого столбца матрицы и их координаты. Задача решается с помощью процедур и функций. Напиши пожалуйста самое главное(Главные процедуры и тело проги), а процедуры типа ввод и вывод массива не надо. thanks
Ответ: const Nmax = 10; TYPE TMatrics = array[1..Nmax, 1..Nmax] of integer;
procedure FillMatrics(var M: TMatrics); var i, j: Integer; begin for i:=1 to Nmax do for j:=1 to Nmax do M[i,j]:=i*j end;
procedure ShowMatrics(M: TMatrics); var i, j: Integer; begin for i:=1 to Nmax do for j:=1 to Nmax do Write(M[i,j]:8); WriteLn; end;
function Sum(M: TMatrics): longint; var S: Longint; i, j: Integer; MaxNo: Integer; begin S:=0; for i:=1 to NMax do begin MaxNo:=1; for j:=2 to NMax do if M[i,j] > M[i, MaxNo] then MaxNo:=j; S:= S + M[i, MAxNo] end; Sum:=S end;
procedure ShowMax(M: TMatrics); var i, j: Integer; maxNo: Integer; begin for i:=1 to Nmax do begin maxNo:=1; for j:=2 to Nmax do if M[i,j] > M[i, MaxNo] then MaxNo:=j; WriteLn(M[i, maxNo]:8,'' '',i:4,'' '',maxNo:4); end; end;
VAR Matr: TMatrics; BEGIN FillMatrics(Matr); ShowMatrics(Matr); ShowMax(Matr); WriteLn(Sum(Matr)); END.
|
1167.
GAST
(11.05.2006 11:53)
0
Кульный сайт!!! Именно благодаря ему я научился программировать на Паскале. Спасибо создателям!
|
1166.
Алёна
(09.05.2006 03:20)
0
Можете составить программу на языке Паскалью Для экономического теста с графикой
Ответ: Это что такое "экономический тест с графикой"?
|
1165.
Good
(08.05.2006 16:29)
0
Можете решить задачку одну... пжл... Даны массивы a1,a2...a10 - наименование аэропортов. r1,r2...r10 - расстояние от центра до города. Напечатать список аэропортов с расстоянием от 1 до 20 км. Указать аэропортб максимально удаленный от центра города. Заранее спасибо.
Ответ: А в чем проблемы видите? По-моему, все элементарно
|
1164.
Good
(08.05.2006 16:13)
0
Ещё одно не запускается... помогите...пжл... http://beta.yousendit.com/transfer.php?action=download&ufid=9303729C3F66D18C
Ответ: Убери строчку initgraph:(gd,gm, ''D:tp7tp7''); Нечто подобное МОЖЕТ НАХОДИТЬСЯ только в исполняемом блоке программы, а у Вас в разделе переменных. Да и выполняет инициализацию графического режима. У Вас - текстовый - только там есть ClrScr, GotoXY ...
|
1163.
Good
(08.05.2006 15:23)
0
Здравствуйте, снова. Так как Вы сказали, не получается, в директориии прописываю всё как Вы написали, что означает "в формате DOS?" и ещё, а что прописывать в других директориях? Спасибо.!
Ответ: в формате DOS - 8 символов имя и 3 символа расширение = максимум. Поэтому длинные имена "искажаются".
|
1162.
саня
(07.05.2006 20:26)
0
Может обьясните как сделать Динамический Массив! А тот жесткое ограничение в 100!
var A: array[1..100,1..100] of integer; B: array[1..100] of integer; N,M,i,j: integer; { N,M - количество строк, столбцов } begin { Цикл для ввода N и M } repeat Write(''Input N (1<N<100)=''); Readln(N); Write(''Input M (1<M<100)=''); Readln(M); until not((N<1)OR(N>100)OR(M<1)OR(M>100));
{ Ввод вектора А } for i:=1 to N do begin for j:=1 to M do begin Write(''Input A['',i,'','',j,'']=''); Readln(A[i,j]); end; end;
{ Формирование вектора В } for i:=1 to N do begin B[i]:=0; for j:=1 to M do begin B[i]:=B[i]+A[i,j]; end; end;
{ Вывод вектора В } for i:=1 to N do begin Writeln(''B['',i,'']='',B[i]); end;
Readln;
end.
|
1161.
Good
(07.05.2006 15:28)
0
Вообщем смысл в том что бы запустить вот это... http://s61.yousendit.com/d.aspx?id=1X290WJRUXG4A21IX3WDQ7A1H3 файл очень маленький... Помогите пжл мне...
Ответ: 1) Среда разработки программ должна "видеть" модуль (unit) - файл с именем Graph.tpu. Для этого в меню Options - Directories - Unit directories нужно написать полный путь к файлу - модулю. Найдите и напишите в формате DOS. У меня C:BPUNITS 2) В 46 строке initgraph(gd,gm,''D:tp7tp7''); вместо ''D:tp7tp7'' нужно написать путь к файлу EGAVGA.BGI, или оставить пустой, но скопировать этот файл (дравер) в тот директорий, где исходник Ваш
|
1160.
Good
(07.05.2006 15:19)
0
Привет! Всем. Скачал у Вас Borland Pascal (13mb) и не знаю что прописывать в директории (Options - Directories). А то у меня не запускается graph и прораммы.
|
1159.
norman
(07.05.2006 02:10)
0
Good чёт это на pascal не пожоже))) html
|
|
|
|