IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Использование типа-record, Формирование записи и её обработка
сообщение
Сообщение #1


Гость






--------------------------------------------
Сформировать запись "Операторы Турбо Паскаля":оператор, действие.
Подсчитать их количество и количество операторов имеющих повторяющиеся ключевые слова.
---------------------------------------------
Код

Program xxx;
Uses crt;
Type
   operators=record
         oper:string;
         deis:string;
         end;
Var
  z:array [1..24] of operators;
  i:byte;
  f1:text;
  n:string;
Begin
CLRSCR;
assign(f1,'c:\ttp\db.dat');
reset(f1);
{*}
for i:=1 to 12 do
begin
readln(f1,z[i].oper);
readln(f1,z[i].deis);
end;
{**}
writeln('Введите оператор:');
readln(n);
for i:=1 to 12 do
if n=z[i].oper then write('Оператор ',n,'-',z[i].deis,'');
readln
end.

Файл db.dat-содержит 24 строки, где 1строка -оператор,2-действие оператора.
Как сделать чтоб программа подсчитывала кол-во операторов, и кол-во операторов имеющих повторяющиеся ключевые слова?

Сообщение отредактировано: Oleg_Z -
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Ну вот попробуйте:
(если будут вопросы - задавайте)
(В присоед. файле - файл DB.DAT - на котором я тестировал эту программу)
Код
Program OperatorsTurboPascal;
Uses crt;
Type
  operators=record
 oper:string;
 deis:string;
 end;
Var
 z:array [1..12] of operators;  {¬ ббЁў ®ЇҐа в®а®ў}
 i:byte;
 f1:text;
 n:string;
 MaxOperators:byte; {Є®«-ў® ®ЇҐа в®а®ў}

Procedure KluchSlova(a:array of operators; n:byte;var n1,n2:byte);
{‚맮ў нв®© Їа®жҐ¤гал: KluchSlova(z,MaxOperators,MaxOper1,MaxOper2); }
Var
I,k:byte;
MO1,MO2:byte;
s:string;
Begin
{Є«озҐўлҐ б«®ў , Є®в®алҐ ўбваҐз овбп ў ®ЇҐа в®а е вгаЎ®-Ї бЄ «п:
 do (for to do, while do)
 end (record ... end,  begin ... end)
 }
mo1:=0; mo2:=0;
For i:=1 to n do
begin
 s:='';
 s:=a[i].oper;
 k:=1;
 for k:=1 to ORD(s[0]) do
 begin
  If (s[k]='d') and (s[k+1] ='o') then MO1:=MO1+1;
  If (s[k]='e') and (s[k+1] ='n') and (s[k+2]='d') then INC(MO2,1)
 end
end;
n1:=mo1;
n2:=mo2
end;

Var
n1,n2:byte;

Begin
CLRSCR;
assign(f1,'C:\DB.DAT');
reset(f1);
for i:=1 to 12 do
begin
 readln(f1,z[i].oper);
 readln(f1,z[i].deis);
 If z[i].oper<>'' then inc(MaxOperators);
end;
writeln('Љ®«ЁзҐбвў® ®ЇҐа в®а®ў = ',MaxOperators);
{Є®«-ў® ®ЇҐа в®а®ў б Ї®ўв®а. Є«оз. б«®ў ¬Ё}
KluchSlova(z,MaxOperators,n1,n2);
Writeln('Љ®«ЁзҐбвў® ®ЇҐа в®а®ў, Ё¬ҐойЁе Ї®ўв®апой. б«®ў® DO :',n1);
Writeln('Љ®«ЁзҐбвў® ®ЇҐа в®а®ў, Ё¬ҐойЁе Ї®ўв®апой. б«®ў® END:',n2);
write('‚ўҐ¤ЁвҐ ®ЇҐа в®а: '); readln(n);
for i:=1 to 12 do if n=z[i].oper then write('ЋЇҐа в®а ',n,'-',z[i].deis,'')

end.


Что-то довольно странно.
Задача на записи, а просят найти слова.
Если что-то не так, то пожалуйста напишите все задание, так , как оно вам было заданно (слово в слово)

Сообщение отредактировано: Oleg_Z -


Прикрепленные файлы
Прикрепленный файл  DB.DAT ( 113 байт ) Кол-во скачиваний: 1


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 18:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name